漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
2013-03-25: 细节已通知厂商并且等待厂商处理中
2013-03-25: 厂商已经确认,细节仅向厂商公开
2013-04-04: 细节向核心白帽子及相关领域专家公开
2013-04-14: 细节向普通白帽子公开
2013-04-24: 细节向实习白帽子公开
2013-05-09: 细节向公众公开
简要描述:
为了保证俺漏洞公开后,不会因为你们错误的修复方式,导致漏洞被二次利用,我只好做一下临时自查。发现开发人员对其中有两处漏洞的修复方式存在问题,导致可以绕过而继续带来安全问题。 “漏洞被发现了并进行了错误的修复”更可怕..更可怕..
详细说明:
1. 首先说的是这个系列7修复后的代码缺陷问题。我去追踪了下,腾讯已经在JS做了以下修复措施。
开发人员的修复意图很明显,就是想限制用户只能将bgURL设置为一个 / 开头的相对路径。
这样一来,其实很多人都能想到绕过方式。如下:
//xsst.sinaapp.com/Xss.swf
这个URL和 http://xsst.sinaapp.com/Xss.swf 的效果是一样的。
因此,我们将发送数据中的bgURL设置为 //xsst.sinaapp.com/Xss.swf 后,成功执行XSS。
2. 第2个问题,相对小一点。 是系列5中修复不彻底的问题,腾讯采取了以下的修复方式。
可以看到开发人员对此处加了一次encodeURI过滤。 不过encodeURI实际上对 单引号 是不会进行过滤的。
因而依然可以导致一个【点击型】XSS的产生。
漏洞证明:
见详细说明!
修复方案:
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
厂商回复:
非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。
最新状态:
暂无