QQ邮箱从被忽略的self-xss到影响多平台的高危漏洞

前言:

本文原创作者挖低危的清风,本文属i春秋原创奖励计划,未经许可禁止转载!原文链接

起因:

之前挖掘了腾讯邮箱的任意用户伪造漏洞被忽略了,虽然给了几十个币补偿,但就感觉很难受,于是又在腾讯邮箱开始倒腾了起来。

这次我把重点放在了邮箱的日历功能,和往常一样我在日历中插入了XSS代码。并设置好提醒时间。


image.png

时间到了我在手机QQ邮箱中收到了提醒,并触发了XSS。


image.png

当看到成功触发之后,我当时也就没深挖了,直接提交给了TSRC。果不其然,第二天一看被忽略了。(内心PS:我也知道这是个self-xss,并且是file域下,是无法获取到cookie等信息的。但是心存侥幸-、-,以为不会被忽略,但现实始终是残酷的。)
image.png

被忽略之后呢,我接着进行挖掘,终于我在日历处,发现了一个共享日历的功能。接着我用我小号进行了测试。


image.png

同时小号收到了日历共享的确认邮件。那么一旦点击加入日历,就会触发我在日历中设置的定时提醒。
image.png

到这里危害似乎提升了一些了,但是还是存在一些问题,必须对方手动确认才能加入,这对攻击造成了不便。提交的话估计也就是一个中危漏洞。(PS:那我肯定不满足于此)

于是我对邮件中加入日历的连接进行了分析。想看看是否有CSRF的问题,但经过测试发现email和sid参数为当前账户的一个标识,无法进行更改,一旦更改就无法成功加入,故这条路猝。
image.png

于是我把重心放在了QQ邮箱APP上,经过测试发现,邮箱APP中的日历也提供分享功能,可以把日历分享给微信好友。(但是这也有缺陷,还是需要对方手动确认,和之前邮件确认加入的差别不大)


image.png

怎么才能扩大危险程度呢,这个时候我将这个分享发到了我的电脑上的微信客户端,发现这个分享是个web版的,这个时候,我就觉得可能会出问题。于是我查看了它的源文件和JS文件。
在js中判断了当前ua头,分别是微信,qq,qq邮箱和web。
image.png

同时判断UA头后进行相应的跳转,而跳转中最关键的识别码就是token_code。这个是类似于身份鉴别的,根据这个token来决定你加入的共享。


image.png

而问题就出在这儿,这个token是硬编码到网页中的。并且这个共享并不会要求对方登录。只要对方安装了邮箱APP并且登录了的即可加入共享。
image.png

那么这个时候,我们来捋一下思路,我们有一个日历提醒的self-xss,同时日历可以共享,然后我们现在还有了一个对方无需登录认证即可加入分享的功能。
于是我根据其跳转的主要逻辑,在自己的网页中也写入了相同的功能,并且加入了自动点击功能,使其只要访问我的网页,就能加入到我的日历共享中。

视频演示:

链接:https://share.weiyun.com/5lC9pUo 密码:wam5hq

结果展示:

WEB,QQ,微信全部受影响。
image.png

image.png

image.png

总结:

有时候漏洞危害小,也不要放弃,合理利用也能造成严重危害。

你可能感兴趣的:(QQ邮箱从被忽略的self-xss到影响多平台的高危漏洞)