通过ton.twitter.com和upload.twitter.com对推特XSS和缓存投毒

admin 2024年2月24日22:11:44评论11 views字数 856阅读2分51秒阅读模式
Bugbounty
漏洞赏金系列文章
01
漏洞细节

    使用 upload.twitter.com 上传数据时,它会检查文件类型是否被允许,并拒绝任何恶意文件(例如.html)。但是,它未拒绝文件类型未知的文件。例如,在传递时被拒绝。由于服务器无法识别文件类型,因此它输出文件时不会在响应中发送标头。缺少此类标头会导致浏览器嗅探文档类型。在这种情况下,攻击者可以插入 HTML 来执行 XSS。通常,上传的文件只能由上传者访问,这使其成为一个seflf xss,但通过签名请求,攻击者可以强制受害者能够查看文件,从而受害者触发xss

02
缓存投毒

    攻击者可以进一步进行这种攻击,并在受害者的浏览器上执行缓存中毒。由于它允许上传文件,因此攻击者可以上传缓存清单文件 (HTML5 AppCache) 来控制 ton.twitter.com 上的缓存行为。

攻击者可以实现以下两个目标: 

(1)攻击者可以强制受害者的浏览器缓存 XSS 文件。这意味着即使删除了服务器上的 XSS 文件,它也会在受害者的浏览器上创建一个持久的 XSS。 

(2)攻击者可以控制域名上所有返回的内容。例如,攻击者可以替换 ton.twitter.com 上任何文件的内容(从受害者的角度来看)

03
复现步骤

1.通过 Twitter 广告>工具>受众管理器>创建新的列表 来进入到上传点

2.在“上传数据文件”菜单栏下上传一个普通文件,然后拦截请求 

3.更改参数blobstore_url以一个未知后缀名结尾,以绕过上传限制

(例如 1440354519600.txt => 1440354519600.test) 

4.将参数内容替换为任何XSS脚本代码,例如<script>xss</script>

5.上传的文件现在包含 XSS 

6.其他人可以通过OAuth 登录查看后触发攻击

视频演示:https://vimeo.com/137155736(密码:appcache)

原文始发于微信公众号(RJ45实验室):通过ton.twitter.com和upload.twitter.com对推特XSS和缓存投毒

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月24日22:11:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过ton.twitter.com和upload.twitter.com对推特XSS和缓存投毒https://cn-sec.com/archives/2522749.html

发表评论

匿名网友 填写信息