前言:
本文原创作者挖低危的清风,本文属i春秋原创奖励计划,未经许可禁止转载!原文链接
起因:
之前挖掘了腾讯邮箱的任意用户伪造漏洞被忽略了,虽然给了几十个币补偿,但就感觉很难受,于是又在腾讯邮箱开始倒腾了起来。
这次我把重点放在了邮箱的日历功能,和往常一样我在日历中插入了XSS代码。并设置好提醒时间。
时间到了我在手机QQ邮箱中收到了提醒,并触发了XSS。
当看到成功触发之后,我当时也就没深挖了,直接提交给了TSRC。果不其然,第二天一看被忽略了。(内心PS:我也知道这是个self-xss,并且是file域下,是无法获取到cookie等信息的。但是心存侥幸-、-,以为不会被忽略,但现实始终是残酷的。)
被忽略之后呢,我接着进行挖掘,终于我在日历处,发现了一个共享日历的功能。接着我用我小号进行了测试。
同时小号收到了日历共享的确认邮件。那么一旦点击加入日历,就会触发我在日历中设置的定时提醒。
到这里危害似乎提升了一些了,但是还是存在一些问题,必须对方手动确认才能加入,这对攻击造成了不便。提交的话估计也就是一个中危漏洞。(PS:那我肯定不满足于此)
于是我对邮件中加入日历的连接进行了分析。想看看是否有CSRF的问题,但经过测试发现email和sid参数为当前账户的一个标识,无法进行更改,一旦更改就无法成功加入,故这条路猝。于是我把重心放在了QQ邮箱APP上,经过测试发现,邮箱APP中的日历也提供分享功能,可以把日历分享给微信好友。(但是这也有缺陷,还是需要对方手动确认,和之前邮件确认加入的差别不大)
怎么才能扩大危险程度呢,这个时候我将这个分享发到了我的电脑上的微信客户端,发现这个分享是个web版的,这个时候,我就觉得可能会出问题。于是我查看了它的源文件和JS文件。
在js中判断了当前ua头,分别是微信,qq,qq邮箱和web。
同时判断UA头后进行相应的跳转,而跳转中最关键的识别码就是token_code。这个是类似于身份鉴别的,根据这个token来决定你加入的共享。
而问题就出在这儿,这个token是硬编码到网页中的。并且这个共享并不会要求对方登录。只要对方安装了邮箱APP并且登录了的即可加入共享。
那么这个时候,我们来捋一下思路,我们有一个日历提醒的self-xss,同时日历可以共享,然后我们现在还有了一个对方无需登录认证即可加入分享的功能。
于是我根据其跳转的主要逻辑,在自己的网页中也写入了相同的功能,并且加入了自动点击功能,使其只要访问我的网页,就能加入到我的日历共享中。
视频演示:
链接:https://share.weiyun.com/5lC9pUo 密码:wam5hq
结果展示:
WEB,QQ,微信全部受影响。总结:
有时候漏洞危害小,也不要放弃,合理利用也能造成严重危害。