首页 > 单独文章 > 正文

一句代码击溃Discuz论坛

时间:2008-10-28 09:24:49 作者:officeba 【认证】

     Discuz!NT 2.5是一款功能强大的基于ASP.net平台的社区软件,该软件由于其方便的操作性,所以其用户众多。最近,Discuz论坛的NT2.5版本程序出现了一个致命的SQL注入漏洞,黑客只需一句代码就可以将自己的帐户提升为论坛的管理员,从而控制整个论坛,黑客甚至可以到后台上传Webshell,进一步入侵网站服务器。下面让我们一起来看看这个漏洞是如何利用的。

     漏洞成因

     Discuz论坛NT2.5版本之所以会出现如此大的漏洞,原因是程序中一个名为showuser.aspx的文件,该文件在对变量ordertype的处理中过滤不严格,导致出现SQL注入漏洞。黑客甚至无需在目标论坛注册帐户,就可以将目标论坛中任意注册用户提升为论坛管理员。

     让初级帐号变身为管理员

     Step1.在百度中以“Powered by Discuz!NT 2.5.0”为关键字进行搜索,可以找到很多使用该版本程序的论坛。随便打开一个,在网址后面加上showuser.aspx,例如论坛网址为:http://www.***.com/,加上showuser.aspx后网址为http://www.***.com/showuser.aspx。回车后就可查看该论坛的用户列表。

     Step2.测试漏洞是否存在。在论坛网址后加上这样一句代码:showuser.aspx?ordertype=desc;drop database kj;--。回车后如果返回正常页面,则说明论坛可能存在漏洞。



图1.hacker帐户只有普通用户权限

     Step3.在论坛首页点击“注册”按钮注册一个帐户,例如“hacker”。注册完后我们可以在showuser.aspx页面看到新注册的帐户,其用户级别为“初始会员”,说明当前该帐户只有普通用户权限。

     Step4.在论坛网址后加上:showuser.aspx?ordertype=desc;update dnt_users set adminid='1',groupid='1' where username='hacker';--//并回车。其中“hacker”就是刚才注册的帐户名,刷新页面后我们可以看到,hack帐户的级别已经变成为了“执行总编”,提权成功。



图2.提权成功

     小贴士:论坛的最高权限名称通常是“管理员”,本例中为“执行总编”,最高权限的组别是以红色字体显示的。

     利用管理员权限上传aspx木马

     如果你只想当个管理员玩玩,那么入侵到这里就可以结束了。想继续深入的话,我们还可以上传aspx木马,从而入侵整个论坛服务器。

     Step1.将当前帐户退出后重新登录,就导航栏可以看到“系统设置”一项,点击后输入hacker帐户密码登录论坛的后台管理系统。

     Step2.在后台管理页面依次点击“帖子”标签→“帖子相关”→“附件类型尺寸”→“添加附件类型”,在出现的窗口的“扩展名”选项中输入“aspx”,最大尺寸选择为“4M”,点击“提交”。



图3.增加附件类型

     Step3.到论坛前台页面发表一个主题,将aspx木马以附件的形式上传到论坛中。

     Step4.回到论坛后台, 依次“论坛”标签→“论坛维护”→“管理附件”,直接点击页面最下方的“搜索附件”按钮,很快我们就可以看到上传的aspx木马,直接点击就可以获取一个Webshell了。

     通过aspx木马获得的权限一般都很大,提权起来很方便,可以说只要通过aspx木马拿到了Webshell就等于搞定了整台服务器。在此提醒各位站长,及时更新补丁,在论坛的后台首页就有相应的补丁下载。


相关文章

同类最新