硬抢Discuz!NT管理权限

网络安全

博弈主题:Discuz!NT论坛攻防

技术难度:★★★★

重点知识:手动注入获取Discuz!NT论坛管理权限

Discuz!NT论坛跟PHP版的Discuz!是亲兄弟,它是ASP.NET版的,诞生的目的就是与动网论坛展开竞争,安全性较高是它的一个重大卖点。不过黑客对Discuz!NT的关注也逐渐增多,挖掘出了其安全漏洞。不需要任何工具就可以让Discuz!NT论坛的普通用户变成管理员,甚至还可以控制论坛所在的服务器。到那时,黑客就会肆无忌惮地进行挂马……

黑暗守夜人:黑客并不是每天都在用木马到处黑别人电脑的人,那只是菜鸟们做的事情,当然更不是用漏洞扫描器扫描到网站漏洞后沾沾自喜的人,这世界上还有不会用漏洞扫描器的人吗?我抽5分钟时间教会他。

我非常反感那些假冒黑客名义的人,我就曾有幸亲眼看到一个仅仅会用漏洞扫描器的孩子,一边扫描漏洞炫耀自己是黑客,一边从一个冤大头手中收钱,那不是真正的黑客。可真正的黑客又是什么呢?从软件中探寻漏洞的奥秘或许是黑客行为的一种,至少发掘漏洞使用漏洞能够带给我一种快感。

最近我收到了一封小组内部的电子邮件,得知Discuz!NT漏洞已经公布的消息。既然已经公布了细节,我想,现在我可以打破沉默(虽然从来没有人要求我沉默),讲讲这个发生在Discuz!NT论坛上的漏洞了,入侵过程非常简单,入侵成功后却可以控制服务器,再在服务器上挂马,那才真是万“马”奔腾!

Discuz!NT的权限管理漏洞

这一次我们发现的Discuz!NT论坛漏洞存在于它的2.5版本中,主要是论坛程序中的showuser.aspx脚本文件,因没有正确地过滤用户请求中的ordertype变量,导致可以进行SQL注入漏洞。

这个漏洞可以让任何想进行恶意攻击的黑客精心构造ordertype,以便在论坛执行各种动作的管理操作,而正常情况下这些动作只有管理员才能够进行操作。

小知识:ordertype变量在Discuz!NT论坛中主要起到让文章排序的作用,例如赋值选择“1”时按照文章ID降序排序,选择“2”时按文章ID升序排序等。

实战入侵Discuz!NT论坛

了解了Discuz!NT论坛漏洞产生的原因,接下来你只须按照我说的进行操作,就可以完成Discuz!NT论坛入侵,全程几乎不需要用到任何辅助性工具,更不需要什么扫描器,完全依靠浏览器就可以了。

第一步:搜寻漏洞网站

首先在Google的输入框中键入“Powered by Discuz!NT”进行搜索,Google会搜索出许多使用Discuz!NT论坛程序的网站(图1)。此时,我们要选择一些靠后的网站论坛,这些论坛往往比较小、缺乏维护,成功入侵的几率相对较高。

35-f15-01.jpg

第二步:检测论坛寻找漏洞

挑选好Discuz!NT论坛后,进入论坛的“/showuser.aspx”页面,然后在网站原网址结尾处添加“?ordertype=desc;drop database icclab;——”。

如果网页显示“应用程序中的服务器错误:无法对数据库'icclab' 执行删除,因为它不存在,或者没有您所需的权限。”则表示该Discuz!NT论坛是存在漏洞的论坛(图2)。如果网页没有任何错误提示,正常返回了原页面,那么则表示该论坛不存在我们入侵所必需的漏洞条件,此时就要继续在Google中挑选其他网站进行测试。

35-f15-02.jpg

第三步:成为论坛管理员

找到存在漏洞的Discuz!NT论坛后,先注册成为论坛的一个普通用户,然后登录论坛进入“/showuser.aspx”页面,在原网址结尾处添加“?ordertype=desc;update dnt_users set adminid='1',groupid='1' where username='注册的账户名';——”,回车跳转后,先前注册的普通账户此时已经升级为管理员用户了,拥有删除帖子等管理员权限。

此外,也可以取消论坛中现有的管理员的管理权限,方法与升级成为管理员的方法类似,只须在“/showuser.aspx”页面之后的原网址结尾处添加“?ordertype=desc;update dnt_users set adminid='',groupid='' where username='管理员的ID';——”即可取消指定的管理员管理权限。

第四步:夺取论坛服务器控制权

一般的黑客做到这步就会结束入侵,但高手的话还会继续深入获取论坛所在服务器的控制权。准备好一个ASP.NET架构的网页木马,再在“/showuser.aspx”页面之后添加 “http://www.*.com/bbs/showuser.aspx?ordertype=desc;update dnt_attachtypesset extension='aspx' where extension='jpg';——”,回车跳转后点击论坛中的“新帖”按钮。

论坛进入发帖页面,帖子的内容和主题随意输入,然后点击“上传附件”中的“浏览”按钮,选择准备的网页木马,点击“完成”之后,我们的网页木马就上传到了论坛中了。再点击“发表主题”按键,进入“用户中心”,选择“我的附件”查看上传的网页木马,通过网页木马我们就可以控制论坛所在的服务器了(图3)。

35-f15-04.jpg

入侵完成后,还要清除入侵的痕迹。先将自己的管理员权限取消,然后再在“/showuser.aspx”页面后面添加输入“?ordertype=desc;delete from dnt_adminvisitlog where username='账户ID';——”即可删除论坛的日志。

打上补丁严控管理权限

如果你的论坛用的是Discuz!NT 2.5版,请尽快下载升级补丁(补丁下载地址:http://www.shudoo.com/bzsoft),然后上传到自己的论坛中修补漏洞即可。也可以通过Windows中的字符搜索功能,查询论坛程序中包含有“Powered by Discuz!NT”字符串的文件,然后用写字板打开,将文件中的“Powered by Discuz!NT”进行处理避免被搜索引擎搜索到。