您的位置:首页 > 其它

挖洞经验|我如何在Twitter上发现了一个CSP绕过+XSS漏洞

2017-07-16 09:21 736 查看
我是一名安全研究人员,也是一名Bug Hunter,但我仍一直在学习。在这篇文章中,我不仅要告诉大家在这样一个如此热门且非常安全的大型网站中找到一个XSS漏洞是有多么的困难,而且我还会跟大家描述我是如何配合另一个CSP(内容安全策略)绕过漏洞并最终在Twitter.com的节点中找到了一个XSS漏洞。 

此前,也有人发现了Twitter任意账户发送推文漏洞,但Twitter的漏洞总体来说较少且较难挖掘。

漏洞的发现过程

在对Twitter的子域名进行了一番研究之后,我发现了节点https://careers.twitter.com/。你估计已经猜到了,这是Twitter的求职网站,你可以在这里寻找自己在Twitter的工作机会,不过我来这里是为了寻找安全漏洞的。

研究了片刻之后,我发现我似乎找到了一个反射型XSS漏洞。URL如下(注意其中的location参数):

https://careers.twitter.com/en/jobs-search.html?location=1"onmouseover=”alert(1)&q=1&start=70&team=





但是请等一下,这里竟然没有弹出对话框!我竟然没能触发对话弹窗?原来,Twitter采用了如下的内容安全策略(CSP):

content-security-policy: default-src‘self’ ; connect-src ‘self’ ; font-src ‘self’ https://*.twimg.comhttps://*.twitter.com data:; frame-src ‘self’ https://twitter.comhttps://*.twitter.com [REDACTED] https://*.twitter.com; report-uri https://twitter.com/i/csp_report


原来,Twitter所采用的CSP禁止了网站弹出JavaScript警告窗口,所以很不幸我无法通过这样的方式来利用这个反射性XSS漏洞。于是跟往常一样,我跑去请教我的老师@brutelogic。我跟他说,我找到了一个XSS漏洞(没提具体细节和域名),但由于网站采用了CSP导致我无法利用这个XSS漏洞。而老师给我的建议就是想办法绕过CSP!他的原话是:”我的天啊,我不想听你说话了,你赶紧想办法绕过这该死的CSP!”好吧…谢谢老师!

在接下来的时间里,我尝试了很多种方法,也尝试寻找了一些其他的子域名,最终我发现了一个带有隐藏GET请求的URL节点:

https://analytics.twitter.com/tpm?tpm_cb=

响应信息的Content-Type为 application/javascript,而我在这里写的参数tpm_cb被反射到了页面上!





这一次我就很幸运了,我结合我所发现的东西最终成功地利用了这个XSS漏洞。我设计的PoC代码如下:

https://careers.twitter.com/en/jobs-search.html?location=1"><scriptsrc=//analytics.twitter.com/tpm?tpm_cb=alert(document.domain)>//

果然不出我所料,终于成功了!





总结

虽然过程比较艰辛,但结果总归是好的。

于是我立刻通过Twitter在HackerOne上的漏洞奖励计划将该问题报告给了Twitter,而Twitter的安全专家很快对我上报的漏洞进行了评估和分类,并迅速给我提供了漏洞奖金。值得一提的是,Twitter很快便修复了其求职网站中的XSS漏洞,但这个CSP绕过漏洞却花了很久时间才解决。不过无论怎样,这些漏洞最终都已经得到了修复。感谢Twitter的安全团队以及超赞的HackerOne社区!

希望这篇文章中的内容可以给那些像我一样的新手带来帮助,如果你也想分享自己的挖洞经验,你可以在Twitter上艾特我@tbmnull

* 参考来源:medium, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM




Alpha_h4ck
226 篇文章 等级:
8级

|

|

上一篇:【更新360公司回应】火球(Fireball)病毒,是老外如临大敌,还是360指鹿为马?

下一篇:
Google正在测试“恐慌按钮”:Android用户只需狂按返回键可“秒关”可疑恶意程序

这些评论亮了



漏洞审核 回复
反射型XSS,忽略。
)19(
亮了

发表评论

已有 5 条评论



漏洞审核  2017-07-12
回复
1楼

反射型XSS,忽略。

亮了(19)



匿名懦夫  2017-07-13
回复
2楼

alpha_h4ck体:我是如何在xxx上找到漏洞的

我是如何拿到xxx大奖的

亮了(0)



漏洞审核  2017-07-13
回复
3楼

反射xss,忽略

亮了(0)





bi3g0 
(1级)
 2017-07-13 回复
4楼

不过讲道理 国外有漏洞奖励计划的站 反射性xss都不好找

亮了(0)



路人申  2017-07-13
回复
5楼

标题竟然不是“我是如何找到XXX漏洞,获得XXX美金奖励”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐