当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-020604

漏洞标题:QQ空间某功能缺陷导致日志存储型XSS - 9

相关厂商:腾讯

漏洞作者: gainover

提交时间:2013-03-25 08:42

修复时间:2013-05-09 08:42

公开时间:2013-05-09 08:42

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-03-25: 细节已通知厂商并且等待厂商处理中
2013-03-25: 厂商已经确认,细节仅向厂商公开
2013-04-04: 细节向核心白帽子及相关领域专家公开
2013-04-14: 细节向普通白帽子公开
2013-04-24: 细节向实习白帽子公开
2013-05-09: 细节向公众公开

简要描述:

为了保证俺漏洞公开后,不会因为你们错误的修复方式,导致漏洞被二次利用,我只好做一下临时自查。发现开发人员对其中有两处漏洞的修复方式存在问题,导致可以绕过而继续带来安全问题。 “漏洞被发现了并进行了错误的修复”更可怕..更可怕..

详细说明:

1. 首先说的是这个系列7修复后的代码缺陷问题。我去追踪了下,腾讯已经在JS做了以下修复措施。

1.jpg


开发人员的修复意图很明显,就是想限制用户只能将bgURL设置为一个 / 开头的相对路径。
这样一来,其实很多人都能想到绕过方式。如下:
//xsst.sinaapp.com/Xss.swf
这个URL和 http://xsst.sinaapp.com/Xss.swf 的效果是一样的。
因此,我们将发送数据中的bgURL设置为 //xsst.sinaapp.com/Xss.swf 后,成功执行XSS。

2.jpg


2. 第2个问题,相对小一点。 是系列5中修复不彻底的问题,腾讯采取了以下的修复方式。

3.jpg


可以看到开发人员对此处加了一次encodeURI过滤。 不过encodeURI实际上对 单引号 是不会进行过滤的。
因而依然可以导致一个【点击型】XSS的产生。

4.jpg

漏洞证明:

见详细说明!

修复方案:

1. 第一个问题,用个正则强制判断下,不会花多少功夫的,且这里友情提示,最好是限定到 特定域名的特定路径下,比如 http://imgcache.qq.com/xxapp/diarybg/item/[\d]+...这样,而不是只限定到 http://imgcache.qq.com/ 或者更危险的 http://*.qq.com/ 域下。
2. 第二个问题,由于输出在onclick里, 不要只用encode过滤, 还应该将 ' 和 & 单独用函数编码为 %27 和 %26 .

版权声明:转载请注明来源 gainover@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-03-25 18:15

厂商回复:

非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。

最新状态:

暂无