安全专家:Discuz最新漏洞的安全研究报告
IMIYOO 发表于:11年07月04日 17:41 [转载] 比特网
XSS问题描述:
XSS是一种客户端攻击方式,攻击者可以可以向Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而可以达到恶意攻击用户的特殊目的。利用该XSS漏洞,攻击者可以实现1 网站挂马 2 网站钓鱼 3 CSRF攻击;危害等级中.
分析报告:
具体原因发生在source/function/function_discuzcode.php中的,在discuzcode函数中,我们可以看到,程序员直接将用户输入的[emai][/email]信息利用preg_replace函数进行替换,但在该函数中存在一个问题,当用户提交的变量中含有双引号等特殊字符的时候,函数会将它们转义后再进行输出,而程序作者没有对其进行过滤,就传给了parseemail函数;
在parseemail函数,如下:
其中$text变量也是没有进行过滤,就直接输出到客户端,从而造成了XSS漏洞。
构造Xss_Exploit如下:
[email][url]”https://www.imiyoo.com onmouseover=alert(/Discuz-XSS-Exploit/); “[/url][/email]
漏洞的修补:
当我们输入上面的恶意数据,经过preg_replace函数转换后,会将双引号表示字符串的实际意义进行转义,而将其作为字符串的一部分进行输出,从而造成XSS攻击,如下图:
因此我们需要将preg_replace转换后的变量进行转化,将转义字符’\’进行过滤.
安全建议:
1 手动安装官方最新的补丁
2 该攻击对加入Nevel系统防护的网站,攻击被有效拦截,下面是利用攻击代码的效果图,如下: