记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

QQ空间某功能缺陷导致日志存储型XSS - 9

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


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 
 
知识来源: www.2cto.com/Article/201305/209327.html

阅读:70397 | 评论:0 | 标签:xss

想收藏或者和大家分享这篇好文章→复制链接地址

“QQ空间某功能缺陷导致日志存储型XSS - 9”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云