一种绕过 CSP 在 Twitter 子站中执行 XSS 的攻击

简介: 本文讲的是一种绕过 CSP 在 Twitter 子站中执行 XSS 的攻击,现在就开始讲述发现这一漏洞的过程,首先我对twitter进行了子域名收集,发现了https://careers.twitter.com这一网站,你可以在这一网站上向twitter投简历,找工作,不过我在这个网站寻找漏洞~
本文讲的是 一种绕过 CSP 在 Twitter 子站中执行 XSS 的攻击现在就开始讲述发现这一漏洞的过程,首先我对twitter进行了子域名收集,发现了https://careers.twitter.com这一网站,你可以在这一网站上向twitter投简历,找工作,不过我在这个网站寻找漏洞~

在测试了一段时间之后,我想我在URL中的location参数中找到了一个反射型的xss漏洞:

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

一种绕过 CSP 在 Twitter 子站中执行 XSS 的攻击

但是它并没有弹框,我以为不能使用这一参数对xss进行触发,后来发现这里使用了CSP,如下:

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

CSP阻止了弹框的进行,所以很不幸,我需要在CSP这一方面下下工夫。然后我询问了XSS方面的大牛 @brutelogic,跟他说了一下我目前碰到的情况,他告诉我想办法去绕过CSP,然后再进行XSS攻击。

我尝试了很多方法,在将要放弃的时候,我发现了在get请求当中还存在一个比较隐蔽的URL:

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

这一页面返回头部的Content-type是application/javascript,于是我将tpm_cb参数中写入xss代码,他会在页面上显示:

一种绕过 CSP 在 Twitter 子站中执行 XSS 的攻击

真的是太幸运了,然后我就将这两个漏洞结合起来,xss就进行执行了,所以我构造了如下的payload:

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

可以看到,已经弹框了~

一种绕过 CSP 在 Twitter 子站中执行 XSS 的攻击

在发现漏洞之后,立刻将漏洞提交到了hackerone,很快对我提交的漏洞进行分类和奖励,同时twitter团队也很快修复了xss漏洞,不过CSP绕过漏洞花的时间略长,但是到最后双方都很满意。感谢twitter安全团队以及hackerone社区。




原文发布时间为:2017年7月8日
本文作者:xnianq
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
1月前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
21 0
|
3月前
|
存储 JSON 前端开发
【面试题】XSS攻击是什么?
【面试题】XSS攻击是什么?
|
3月前
|
存储 开发框架 安全
如何处理预防XSS漏洞攻击问题
防止XSS攻击需要从多个方面入手,包括输入验证和过滤、输出编码、设置正确的HTTP头部、使用最新的安全框架和库、定期进行安全审计和漏洞扫描以及培训和意识提升等。只有综合运用这些措施,才能有效地防止XSS攻击,保护网站和用户的安全。
|
6月前
|
存储 安全 JavaScript
渗透攻击实例-xss跨站脚本攻击
渗透攻击实例-xss跨站脚本攻击
|
2天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
10天前
|
安全 JavaScript Go
跨站脚本攻击(XSS)防护在Django中的应用
【4月更文挑战第15天】本文介绍了Django如何防范XSS攻击。Django模板引擎自动转义HTML以防止恶意脚本,提供`mark_safe`函数和CSRF防护。此外,建议开发者验证清理用户输入、使用内容安全策略、更新库以及遵循安全编码实践来增强防护。通过这些措施,开发者能构建更安全的Web应用。
|
1月前
|
安全 JavaScript 前端开发
Low 级别反射型 XSS 演示(附链接)
Low 级别反射型 XSS 演示(附链接)
19 0
|
1月前
|
存储 JavaScript 前端开发
DOM 型 XSS 演示(附链接)
DOM 型 XSS 演示(附链接)
70 0
|
1月前
|
存储 前端开发 JavaScript
存储型 XSS 攻击演示(附链接)
存储型 XSS 攻击演示(附链接)
83 0
|
1月前
|
存储 前端开发 JavaScript
反射型 XSS 攻击演示(附链接)
反射型 XSS 攻击演示(附链接)
134 0