漏洞描述:
在 JS 字符串中,字符还可以表示为 unicode 的形式。
即:单引号还可以表示为 u0027 或 x27 。由于没有过滤" " 绕过了防御,形成漏洞。
漏洞危害:
1. 恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。
2. 恶意用户可以使用 JavaScript 、 VBScript 、 ActiveX 、 HTML 语言甚至 Flash 应用的漏洞来进行攻击,从而来达到获取其他的用户信息目的。
解决方法:
临时解决方案:(感谢站长飞鸟网络提供的临时解决方案)
Discuz! X2 需要修改的文件: source/module/connect/connect_login.php
Discuz! X2.5 需要修改的文件: source/plugin/qqconnect/connect/connect_login.php
(版本不同,修复方法是一样的)
在 19 行 $referer = dreferer(); 的上面加上如下代码:
$_GET['referer'] = strtr($_GET['referer'],'','/');
官方补丁:
2013-2-22 官方已发布补丁,推荐站长使用官方补丁进行升级