Discuz!论坛是国内一个很着名的PHP论坛程序,它因为在稳定性、负载能力、安全保障等方面都居于国内外同类产品领先地位,所以成为人们架设论坛的首选方案。但是,新版的Discuz!5.0论坛出现了一个安全漏洞,可以让普通用户获取论坛管理员的账号和密码。文章黑客姓名:陈强黑客特长:程序脚本分析使用工具:Discuz!5.0最新漏洞利用工具黑客自白:我从最简单的客户端脚本语言HTML开始,由浅入深地学习了ASP、PHP、JSP等目前流行的脚本语言和数据库基础知识,现在,我能通过阅读源代码发现一些漏洞并加以利用。漏洞原理Discuz!论坛用户在给指定会员发送悄悄话的时候,论坛程序使用的是类似于http://www.xxxx.net/phpbbs/pm.php?ac tion=send&username=name 这样的语句。但是由于其中的name没有经过过滤,而是直接显示在发送短消息的页面中,这样就给黑客偷取Cookies或者进行更严重的破坏打开了方便之门。虽然Discuz!论坛从3.x版本开始就已经将它改为与http://www.xxxx.net/pm.php?action=send&uid=XXXX类似的语句,从而有效地避免了这个漏洞,但是在选择短信文件夹的时候却没有经过过滤,所以同样产生了漏洞 。TW.wINGwIT.cOm利用漏洞首先按照常规方法注册一个论坛账号,我这里注册的账号为bear123456,注册完成后成功登录。在网页论坛下方的“清除 Cookies”选项上点击,然后选择鼠标右键中的“属性”窗口,在属性窗口“地址”后的最后一串数值是Cook值,这些内容在后面的操作中都会使用到。现在运行“Discuz!5.0最新漏洞利用工具”,根据每个选项信息填入不同的内容。比如“Url:”选项就代表我们测试的这个Discuz!论坛的网页地址;“Hash:”选项表示的是我们注册账户的Cook值;“Msgto:”选项是我们刚刚注册的账号;“Uid”选项就表示需要破解的账户的论坛ID,这里我们就输入管理员的ID。输入完成后点击“GOGOGO”按钮,很快就会在弹出的窗口中得到一串类似于“644481aaebb1b52547555896496e203b”的数值,这串数值就是我们要破解的对方ID账号的密码,只不过该密码是经过MD5加密处理的。遇到这种情况的时候,我们可以通过专门的MD5破解网站进行在线破解,比如通过www.cmd5.com进行破解。得到管理员的账号密码以后,我们就可以通过它登录系统后台,然后对论坛进行入侵和管理操作,比如数据库管理、上传PHP木马、网页挂马等。注意:Discuz!5.0关于此漏洞的补丁已经发布,请论坛管理员及时更新。