0x01
在日常渗透测试或 SRC 挖掘时,常会遇到这样的情况:通过 JS 泄露或微服务架构发现了一个上传接口(如 http://ip:port/api/v1/common/upload),但前端没有对应的功能页面。
手动在 Burp Repeater 里构造 multipart/form-data 报文比较繁琐,尤其是 boundary 的闭合、CRLF 换行符以及 Content-Length 的计算,稍有差错后端就可能不响应。
为了提高效率,减少重复操作,写了这个 Java 版的小工具。经过几个小版本的迭代,目前使用起来比较稳定,分享给各位老哥,供大家参考交流。
0x02 核心功能
ISO-8859-1 字节级保护:
实战中部分工具在载入图片马进行编辑时,会因编码转换导致二进制流损坏。本工具底层采用单字节编码,载入 JPG/PNG 后在末尾添加代码,发送的数据包不会损坏图片本身的 getimagesize 结构。
Bypass 策略组合:
针对常见 WAF,工具支持“点、空格、大小写、%00、IIS分号、路径穿越、ADS”等策略的自由组合,预览框会实时更新勾选后的效果,发包前可查看文件名变形情况。
内置混淆版 PDF Payload:
集成了针对部分主流 WAF 的混淆 Payload,利用 PDF 名称混淆(Name Obfuscation),将 /JavaScript 转换为十六进制形式,在实际测试中可用于绕过深度包检测。
[Fuzz] 变体爆破:
添加了简单的变体爆破功能,支持 PHP/JSP/ASPX 后缀的自动变体爆破,点击按钮会弹出监控表,实时显示各后缀的状态码和返回包长度。
Raw 发送模式:
勾选后预览框可直接手动编辑,可修改 Boundary、删减 Header、插入干扰参数,工具会原样发送编辑后的内容,适配自定义上传场景。
性能小优化:
显式指定了 Proxy.NO_PROXY 逻辑,不开启代理时发包无明显延迟,不会探测系统全局代理设置。
0x03 界面预览
0x04 简要使用说明
环境:本地有 JRE 1.8 即可。
运行:java -jar Modern-Upload-Tester-v1.0.jar
联动:建议配合 Burp 代理 127.0.0.1:8080 进行二次确认,确保请求无误。
0x05 总结
工具比较轻量,主要用于孤立 API 上传请求的快速构造,方便测试。代码中还有一些不完善的地方,欢迎各位老哥提出建议和指正。
下载地址:
https://github.com/danran12/upload-v61