通过文件名 + CSRF 在联系我们的multipart/data表单上发起 Self-XSS

admin 2025年6月18日21:11:12评论0 views字数 970阅读3分14秒阅读模式

在本文中,我将讨论我用来攻击反射型跨站脚本 (RXSS) 的技术。这是我之前遇到的全新体验,也让我学到了很多。让我们开始吧。

在我们的目标 target.com 中,有一个“联系我们”表单,其中包含一个上传文件选项,用于提交问题的屏幕截图。像往常一样,我通过输入“mchkltxss”之类的随机字符串来检查反射,结果发现它确实存在反射。我尝试注入 XSS 有效载荷,但由于 HTML 编码问题,它们失败了。

为了更好地查看请求,我切换到了 Burp Suite。我上传的文件名被放入了 filename 变量中。我尝试通过输入随机文本来修改这个变量,看看是否有任何反射,但最初没有任何结果。然后,我尝试输入一个随机扩展名,例如“helloworld.fakeext”。这反映了一条包含以下内容的错误消息:

提供的文件扩展名“helloworld.fakeext”与预期的媒体类型不匹配。

所以,我们有反思。

我尝试了 HTML 注入,成功了。然而,当我尝试 alert(document.domain) 时,它却失败了,因为该函数检测到 .domain 是一个扩展名。不过 JavaScript 很强大,它提供了一些不需要点的函数。我使用了 alert(document['domain']),成功了。但到目前为止,它只是 self-XSS,因为文件上传使用了带有 multipart/form-data 编码的 POST 请求。

我尝试了 Burp Suite CSRF PoC,包括多部分 PoC,它们都成功了,但文件上传部分却不行。所以,是时候开始写代码了。我编写了自定义代码来处理通过 POST 请求上传文件的操作,经过一些调整后,它终于成功了。

关于他的文章向我展示了做事的方法。

这段 js 代码动态地向表单添加隐藏输入,将 base64 编码的数据转换为文件,并将该文件附加到表单。之后,表单会自动提交。现在,我有一个完全可利用的 rXSS 漏洞。

要阅读利用代码,请检查csrf-file-upload-poc

它在两项资产中有效且不重复

通过文件名 + CSRF 在联系我们的multipart/data表单上发起 Self-XSS

总而言之,这次经历强调了彻底测试所有输入字段以及探索各种技术来检查反射、rXSS 或 HTML 注入的重要性。它强调了尝试不同方法和工具的价值。保持警惕,持续学习。

原文始发于微信公众号(红云谈安全):通过文件名 + CSRF 在联系我们的“multipart/data”表单上发起 Self-XSS

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月18日21:11:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   通过文件名 + CSRF 在联系我们的multipart/data表单上发起 Self-XSShttp://cn-sec.com/archives/4176666.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息