Discuz!NT 2.5最新注入漏洞测试
2008-09-05 13:21:03 来源:WEB开发网Discuz!NT是一款功能强大的基于ASP.net平台的BBS系统,占有不少的市场份额,特别是一些大中型专业社区都采用该系统。最近,ISTO成员在其最新的2.5版本中发现了一个安全漏洞,成功利用此漏洞可以直接修改管理员的密码进入后台,取得管理员权限,从而控制整个网站。下面笔者部署环境解析该漏洞,以期引起大家的重视。
环境描述
操作系统:Windows 2003
Discuz!NT版本:2.5
URL:http://www.gslw.com
数据库:SQL Server 2005
1、漏洞起因
漏洞是由showuser.aspx文件引起的,该文件的作用是显示论坛的会员列表。由于脚本中对于用来用户排序的ordertype参数未经过滤而直接查询数据库,攻击者可以通过精心构造的ordertype参数进行数据库的写操作。(图1)
2、漏洞测试
判断Discuz!NT是否存在该漏洞,我们可以构造ordertype参数进程测试。下面代码的意思是删除gslw数据库,由于不存在gslw数据库因此会报错“无法对数据库'glsw'执行删除,因为它不存在,或者您没有所需的权限。”这就说明执行了数据库操作,我们可以根据错误信息判断是否存在该漏洞。我们构造的URl为
http://www.gslw.com/showuser.aspx?ordertype=desc;drop database glsw;--
显示的错误页面见图1,说明存在该漏洞。(图2)
3、用户提权
打开论坛注册一个用户为hacker的会员见图3,然后我们可以进行构造一段URL通过showuser.aspx的ordertype参数将hacker提升为管理员。构造的URL为“http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_users set adminid='1',groupid='1' where username='hacker';--”其作用就是将注册用户hacker的adminid和guoupid设置为1,也就是将其提升为管理员。将该URL输入浏览器地址栏回车后可以看到hacker被提升为管理员见图4。(图3)(图4)
更多精彩
赞助商链接