频道栏目
首页 > 安全 > 网站安全 > 正文

A Better Member-Based ASP Photo Gallery SQL注入补丁分析

2009-03-28 07:41:46           
收藏   我要投稿
riusksks blog

之前在milw0rm上公布了一个关于A Better Member-Based ASP Photo Gallery 的SQL注入漏洞http://www.milw0rm.org/exploits/8012,之后官方对其进行修补了。如果你打开下面的地址:asp?entry=-1+union+select+0,title,2,creator,Longitude,5,pics+from+photos">http://www.ontarioabandonedplaces.com/ipguardian/gallery/view.asp?entry=-1+union+select+0,title,2,creator,Longitude,5,pics+from+photos
就会回显下面一句:

You poor shithead, SQL injection is for kids.

下面下载补丁代码分析:

this is used to delete images
If Request.Form("btnDelete") = DeleteButtonLabel Then
val = request.form("fval")
else
val = request.querystring("entry")
val = replace(val, "+", "")           将"+"替换为"",其实这样的过滤并不咋滴,因为我们可用其它符号代替空格,
比如用注释符/**/来替代,这也是很常用的
val = replace(val, "-", "")            将"-"也替换为""
val = left(val,4)                         只取val左边四个字符,这招够狠的,直接限制了注入语句的长度
end if
above gets either location id from whats passed in wiki string or
from delete form bel
ow

 Set objConn = Server.CreateObject("ADODB.Connection")
 objConn.Provider = "Microsoft.Jet.OLEDB.4.0"
 objconn.ConnectionString = "Data Source=" & Server.Mappath ("databasephotodb.mdb")
 objconn.open
 strSQL = "SELECT * FROM photos WHERE ID = " & val     将变量val带入SQL语句

 set objRS = objConn.Execute(strSQL)                           执行SQL

实际上,上面的SQL注入漏洞还是存在的,只是增加了利用的难度.把注入语句限制为4个字符.大家可以讨论一下,看有什么方法可突破这种限制!

相关TAG标签 补丁
上一篇:iGuard简单突破
下一篇:Mysql+PHPmyadmin提权技巧
相关文章
图文推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站