漏洞概要
关注数(24)
关注此漏洞
漏洞标题:PKAV腾讯专场 - 6. (QQ空间+朋友网)日志功能存储型XSS
相关厂商:腾讯
提交时间:2012-10-22 14:25
修复时间:2012-12-06 14:25
公开时间:2012-12-06 14:25
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2012-10-22: 细节已通知厂商并且等待厂商处理中
2012-10-24: 厂商已经确认,细节仅向厂商公开
2012-11-03: 细节向核心白帽子及相关领域专家公开
2012-11-13: 细节向普通白帽子公开
2012-11-23: 细节向实习白帽子公开
2012-12-06: 细节向公众公开
简要描述:
此漏洞影响腾讯2大主要的社区日志功能,QQ空间和朋友网的前端和后端是一套逻辑,就不分开提交了。漏洞相关信息日后会同步至pkav.net。
详细说明:
缺陷文件:
http://cnc.qzs.qq.com/qzone/newblog/v5/script/common.js
http://qzs.pengyou.com/qzone/newblog/v5/script/common.js
缺陷代码:
1. 首先看看上面这个代码。
2. 它的大致流程如下:
2.1 搜索日志里所有name="musicFlash**"的元素。然后循环对每一个元素处理
2.2 拿一次循环为例,可以看到取出了name="musicFlash**"元素的 ubb 属性。
2.3 而后,在span.innerHTML这段代码中, ubb="' + ubb + '" 这个地方直接加了进去。
2.4 因此这里没有做过滤,会造成XSS。
3. 那么利用代码怎么写呢?
因为日志功能是富文本,不可能屏蔽掉所有的HTML标签。div 标记一般是允许的。那么我们利用div来编写利用代码。
嗯,上面就是利用代码了,很简单吧,发日志的时候,选择使用HTML方式,发送即可。
其它用户访问日志后,效果如下:
打开调试工具,可以看到被inject进去的代码
4. 当然,还没完。。。 因为上面这个代码缺陷,仅限于非IE浏览器,为什么呢?
主要是这句:如下图:
5. 我们的目标是:“没有蛀牙”,只有chrome下可以,有点鸡肋了。
6. 其实这里还存在一个问题。最初测试时,发现腾讯并没有过滤掉object标签,只是对object调用的swf文件的域进行了限制。也就是说 ,发送一下HTML,是不会被过滤掉的
只要 movie的value是 http://qzs.qq.com域名下即可
7. 更重要的是,这里的allowscriptaccess是等于always的。
8. 那么我们只要找到一个 http://qzs.qq.com 域名下,具有缺陷的FLASH XSS即可。
9. google , site:qzs.qq.com filetype:swf ,找到下面这个。
10. 接着我们在发布日志时,发布以下利用代码即可。
11. 看吧,这次IE也会弹啦。
漏洞证明:
修复方案:
1. 修复 QZBlog.Logic.initMusicPlayer 中的缺陷,取出ubb属性后,进行二次过滤,再输出到innerHTML。
2. 这个object的always,你们自己看着修复。本身object标签就是很危险的,感觉不应该直接输出到页面。
3. 修复 http://qzs.qq.com/qzone/mall/app/vip_reward/201110/swf/play.swf?flashInit=function(){alert(document.cookie)}
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2012-10-24 15:27
厂商回复:
非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。
最新状态:
2012-10-25:非常感谢您的报告,目前已经完成对该漏洞的修复,请您帮助复查,有任何问题请联系我们。
漏洞评价:
评论
-
2012-10-22 14:34 |
风萧萧 ( 核心白帽子 | Rank:1020 漏洞数:76 | 人这一辈子总要动真格的爱上什么人)
-
2012-10-22 14:44 |
MEng ( 路人 | Rank:1 漏洞数:2 | 刚接触这个领域、来学习了)
-
2012-10-22 14:46 |
Vty ( 普通白帽子 | Rank:199 漏洞数:37 )
-
2012-10-22 14:49 |
Jannock ( 核心白帽子 | Rank:2278 漏洞数:204 | 关注技术与网络安全(招人中,有兴趣请私信...)
-
2012-10-22 15:26 |
cnrstar ( 普通白帽子 | Rank:157 漏洞数:23 | Be my personal best!)
-
2012-10-22 15:36 |
hongygxiang ( 普通白帽子 | Rank:115 漏洞数:12 | 蛋疼)
-
2012-10-22 15:50 |
蟋蟀哥哥 ( 普通白帽子 | Rank:363 漏洞数:57 | 巴蜀人士,80后宅男,自学成才,天朝教育失败...)
-
2012-10-22 16:26 |
FlyR4nk ( 普通白帽子 | Rank:119 漏洞数:18 )
-
2012-10-22 17:03 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2012-10-22 17:06 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
总让二哥一个人连载也不合适,PKAV的其他人该出来冒冒泡了。
-
2012-10-22 17:37 |
Sunshine ( 实习白帽子 | Rank:51 漏洞数:10 | Nothing.)
额,@only_guest 忙着上课和训练-_-||累死了,每天十几公里
-
2012-10-22 22:21 |
Max ( 实习白帽子 | Rank:45 漏洞数:7 | When you see this sentence, I have been ...)
-
2012-10-23 09:18 |
se55i0n ( 普通白帽子 | Rank:1567 漏洞数:173 )
-
2012-10-23 10:47 |
an1k3r ( 普通白帽子 | Rank:474 漏洞数:40 | 0.0)
-
2012-10-23 12:50 |
kkappa ( 路人 | Rank:6 漏洞数:1 | 宅男!)
-
2012-10-23 13:14 |
only_guest ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)
@kkappa 洞主要是告诉你了 @xsser 会弄死我的.
-
2012-12-06 20:21 |
edgerror ( 路人 | Rank:5 漏洞数:1 )
-
2012-12-15 17:09 |
px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)