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

漏洞概要

缺陷编号:WooYun-2015-0128752

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

相关厂商:腾讯

漏洞作者:q601333824

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

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

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

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

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这个参数没有对双引号进行过滤,如图①.

②.

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

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

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

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

            ↓(编码)

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

7.然而并没有拦截

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

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

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

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

---------------------------------------------------------------------------------------12.然后审核的人说,需要利用方式,于是我一直在想,想到了昨天提交的漏洞,还没有修复http://**.**.**.**/bugs/wooyun-2015-012768113.这个漏洞我提交的时候说过,那个登录连接从别的网站,点击跳转会提示403,但是从QQ聊天窗口和QQ空间,本地跳转不会拦截,然后看这张图

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

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

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

4.其中http://**.**.**.**/1.js里面的代码是

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

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

漏洞证明:

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

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

修复方案:

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

漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

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

厂商回复:

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

最新状态:

暂无

评价

  1. 2010-01-01 00:00 牛 小 帅 白帽子 | Rank:407 漏洞数:34)

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

  2. 2010-01-01 00:00 随随意意 白帽子 | Rank:125 漏洞数:14)

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

  3. 2010-01-01 00:00 牛 小 帅 白帽子 | Rank:407 漏洞数:34)

    @随随意意 哈哈

  4. 2010-01-01 00:00 HackBraid 白帽子 | Rank:1006 漏洞数:95)

    666

  5. 2010-01-01 00:00 Mirror 白帽子 | Rank:15 漏洞数:2)

    666

  6. 2010-01-01 00:00 q601333824 白帽子 | Rank:247 漏洞数:40)

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

  7. 2010-01-01 00:00 小龙 白帽子 | Rank:1634 漏洞数:152)

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

  8. 2010-01-01 00:00 腹黑 白帽子 | Rank:0 漏洞数:0)

    辣么酷炫~

  9. 2010-01-01 00:00 Mowen 白帽子 | Rank:0 漏洞数:0)

    坐等忽悠悠悠悠……

  10. 2010-01-01 00:00 q601333824 白帽子 | Rank:247 漏洞数:40)

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

  11. 2010-01-01 00:00 chock 白帽子 | Rank:114 漏洞数:13)

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

  12. 2010-01-01 00:00 KevAxe 白帽子 | Rank:12 漏洞数:1)

    玩的真溜!