QQ邮箱0day漏洞,打开邮件iCloud被盗案例分析

阅读量    131757 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

https://p4.ssl.qhimg.com/t01165bd1d3e742ec10.png

最近,360天眼安全实验室接到用户反馈,表示其收到如下内容的钓鱼邮件:

http://p9.qhimg.com/t01b607e08e1f0ce911.png

经过分析,确定为此邮件为利用QQ邮箱的未公开跨站漏洞实施的一次钓鱼攻击。

截止到发稿为止,QQ邮箱已经修复了这个跨站漏洞。

下面是该漏洞的一些细节:

点开文中的云盘链接之后发现页面为一个空页面,但是查看其源代码后发现攻击代码:

http://p5.qhimg.com/t01eaa99634d8516181.png

代码部分:

http://open.mail.qq.com/cgi-bin/dy_preview?column_id=1445100421t3853355936t31244&
column_url=
远程XML
的地址
&column_img_url=&t=unite_tmpl_magazine&qqtype=lockKey10

本次出问题的模块为QQ邮箱的邮件订阅预览功能,该功能允许加载一个远程可控的XML文件,但是在解析远程xml文档,生成邮件预览页时,没有严格校验输入数据,从而导致跨站的发生。

上文中POC的column_url即为远程可控的XML文件,该文件结构如下图:

http://p9.qhimg.com/t017f88b04a72a6fedf.png

由于程序为未对link字段的输入数据进行严格校验而导致跨站。link标签的数据在生成邮件预览页的过程中会被readOriginalLink函数处理:

http://p3.qhimg.com/t01d0b42b14dd9227f9.png

从上图中可以看到,readOriginalLink未对传入的参数aF进行任何校验,直接写入到了document对象中,此时的document.documentElement.innerHTML如下:

http://p0.qhimg.com/t016c588d9ccd1ae286.png

可见img标签已经成功被我们控制,从而使本次跨站可以成功实施。

下图为我们模拟的一次攻击过程所截获的用户邮箱Cookie:

http://p6.qhimg.com/t0171a90c0fb95e6efc.png

巧合的是,就在本文准备发表之前,FreeBuf上出现了另外一篇分析文章,受害者收到的钓鱼邮件内容几乎与本文相同

事件还原:一封QQ恶意邮件,导致Apple ID密码丢失

但是使用的跨站漏洞与本次的不同。由此推测,此事件幕后是一个完整的产业链,攻击者手里可能还握有其他未知的QQ邮箱跨站漏洞。

截止到发文为止,360天眼安全实验室还发现了位于qq.com域下的另外一个跨站漏洞,此漏洞已通过360补天平台提交给官方,在漏洞修复前细节暂不公布。

最后360天眼安全实验室提醒各位QQ邮箱的用户,一定要慎点QQ邮箱中来历不明的邮件。

企业可以通过这种以下方式来防御xss。

http://bobao.360.cn/learning/detail/2265.html

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多