文章总结: 本文介绍了一个名为UploadAutoFuzz的BurpSuite插件,旨在自动化文件上传漏洞的测试。该工具集成了超过1000个payload,覆盖了后缀绕过、请求头操控、Content-Type伪造、系统特性利用及配置文件上传等多个维度,可以显著提升渗透测试中文件上传绕过的效率。它通过作为Intruder的payloadgenerator动态生成请求变体,并提供了详细的使用步骤和实战场景建议。 综合评分: 95 文章分类: 渗透测试,WEB安全,红队,安全工具,代码审计
)、空 filename、未闭合引号(filename="shell.php)、多等号
filename\n="shell.php"Content-Type 绕过
- MIME 类型伪造:image/gif、image/png、application/octet-stream
- URL 编码:
image%2Fgif、image%2Fphp - 双重 Content-Type 头
- 大小写变换
系统特性利用
Windows 和 Linux 各有一套:
| 系统 | 技巧 | 示例 |
| — | — | — |
| Windows | NTFS 数据流 | shell.php::$DATA |
| Windows | IIS 分号解析 | shell.asp;.jpg |
| Windows | 保留设备名 | con.php 、aux.asp |
| Linux | Apache 多扩展名 | shell.php.jpg |
| Linux | 路径穿越 | ../shell.php |
| Linux | 隐藏文件 | .shell.php |
配置文件上传
这是杀伤力比较大的一类,上传配置文件来改变服务器解析行为:
.htaccess:写SetHandler,让任意文件被当作 PHP 执行.user.ini:写auto_prepend_file,实现文件包含web.config:IIS 下配置 handlers
魔术字节注入
在文件头加 GIF89a、PNG 头、PDF 头,绕过服务器端的文件内容检测。
工作原理
Upload_Auto_Fuzz 是一个 Burp Suite 的 Extension,注册为 Intruder 的 payload generator。
普通的 Intruder 攻击,payload 来自一个固定列表(比如一个字典文件)。而 Extension-generated 类型的 payload,是由插件在运行时动态生成的。Upload_Auto_Fuzz 就是在这个钩子里实时生成文件上传的各类变体。
v1.2.0 采用了策略模式重写,每一种绕过姿势都是一个独立的策略类,可以单独启用或禁用。比如你只测 PHP 站、不需要 ASP 相关的 payload,可以直接在配置面板里关掉对应策略。
插件还做了去重处理,同样的 payload 不会重复发送,减少无效请求。
安装步骤
前置条件:Burp Suite 需要配置 Jython(Python 2.7 解释器)。官方文档在:
https://portswigger.net/burp/documentation/desktop/extensions
安装过程:
- 从 GitHub 下载
Upload_Auto_Fuzz.py - 打开 Burp Suite,进入 Extender → Extensions 标签
- 点击 Add,Extension type 选择 Python
- 选择下载的 .py 文件,点击 Next
加载成功后,Burp 顶部菜单栏会出现「Upload Fuzz」标签页,可以在里面配置测试策略。
怎么用
第一步:抓包,发到 Intruder
抓到文件上传的请求后,右键发送到 Intruder。
第二步:配置 Payload
切换到 Payloads 标签,Payload type 选 Extension-generated,然后点 Select generator,选 upload_auto_fuzz。
在 Payloads 面板中选择 upload_auto_fuzz 作为生成器
第三步:关闭 Payload Encoding(重要)
向下滚动到 Payload Encoding 部分,把「URL-encode these characters」的勾去掉。
取消 Payload Encoding,否则 payload 中的特殊字符会被二次转义
这步很容易忘。如果不关掉,payload 里的 %00、%2F 这类字符会被 Burp 再 encode 一次,导致 payload 失效。
第四步:开始攻击,看结果
点 Start attack,根据响应的状态码和响应长度来判断哪个 payload 有效。一般来说,和其他 payload 长度明显不同的那些,值得重点看。
Intruder 攻击结果,可通过响应长度差异筛选有效 payload
几个实战场景
场景一:测试 PHP 站的上传点
在配置面板选择 PHP 后端,只启用 PHP 相关的后缀策略和配置文件策略。跑完之后,重点看 .phtml、.phar、.htaccess、.user.ini 对应的响应。
场景二:Java 应用的文件上传
选 JSP 后端,关注 jspx、jspjsp 类的后缀变体,以及 Content-Type 绕过类的 payload。
场景三:有 WAF 防护的场景
先跑一遍基础后缀,看哪些被 block、哪些放行。再对放行的格式在请求头层面组合测试,比如用 Content-Disposition 大小写混淆配合特殊后缀。
注意:WAF 环境下建议调低 Intruder 的并发速度,避免触发限频。
几点注意
- 部分 payload(比如 WebShell 内容)默认是开启的,正式测试前确认已获得授权。
- 某些 payload 依赖特定服务器配置才能生效,比如 NTFS 数据流只在 Windows 服务器上有意义。
欢迎关注“攻防录”✨
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:攻防录 攻防路 攻防路《Burp Suite 文件上传漏洞自动化测试插件 1000+ payload》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论