mirror of
https://github.com/T3nk0/Upload_Auto_Fuzz.git
synced 2026-10-24 17:04:32 +00:00
代码重构 v1.2.0
This commit is contained in:
1 parent
ad9c8e3afb
commit
cdde0557e1
2 files changed
+2252
-1549
No files matched your search
@@ -1,122 +1,187 @@
|
|||||||
# Upload_Auto_Fuzz - Burp Suite 文件上传漏洞Fuzz插件
|
# Upload_Auto_Fuzz
|
||||||
|
|
||||||
|
Burp Suite 文件上传漏洞自动化测试插件
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
## 版本更新
|
## 简介
|
||||||
|
|
||||||
### v1.1.0
|
一个用于测试文件上传功能安全性的 Burp Suite 插件。通过 Intruder 模块自动生成各类绕过 payload,覆盖常见的文件上传限制场景。
|
||||||
|
|
||||||
- **新增功能**:
|
## v1.2.0 更新内容
|
||||||
- 添加云环境绕过模块,支持对象存储、容器化环境和Serverless特性绕过
|
|
||||||
- 添加高级防御绕过模块,针对AI分析引擎和行为沙箱系统
|
|
||||||
- 增强特性:字符变异、数据溢出和内容混淆技术
|
|
||||||
- 新增对抗样本生成支持,可绕过CNN图像分类模型
|
|
||||||
- 增加环境指纹识别和延时执行机制
|
|
||||||
- **性能提升**:
|
|
||||||
- payload总量从300+增加到500+
|
|
||||||
- 优化内存占用和去重算法
|
|
||||||
- 提高有效载荷生成速度
|
|
||||||
|
|
||||||
### v1.0.0 (初始版本)
|
**架构重构**
|
||||||
|
- 采用策略模式重写,代码结构更清晰
|
||||||
|
- 新增配置面板,可自定义测试范围
|
||||||
|
- 支持 Burp Suite 深色主题
|
||||||
|
|
||||||
- 基础的文件上传漏洞Fuzz功能
|
**功能增强**
|
||||||
- 支持WAF绕过、系统特性利用和内容欺骗等技术
|
- 新增后端语言选择(PHP/ASP/ASPX/JSP)
|
||||||
- 300+种有效Payload
|
- 新增 14 种独立的 Fuzz 策略,可单独启用/禁用
|
||||||
|
- payload 数量提升至 1000+
|
||||||
|
- 优化去重算法,减少无效请求
|
||||||
|
|
||||||
## 功能概述
|
**新增测试点**
|
||||||
|
- 双写绕过:`pphphp`、`aspasp`
|
||||||
|
- form-data 污染:多分号、脏数据替换
|
||||||
|
- 未闭合引号:`filename="shell.php`
|
||||||
|
- URL 编码 Content-Type:`image%2Fphp`
|
||||||
|
- 配置文件内容注入:.htaccess / .user.ini 实际利用内容
|
||||||
|
|
||||||
本Burp Suite插件专为文件上传漏洞检测设计,提供自动化Fuzz测试,共500+条payload。效果如图
|
|
||||||
|
|
||||||

|
## 测试覆盖范围
|
||||||
|
|
||||||
主要包含以下攻击向量:
|
### 后缀绕过
|
||||||
|
- 可执行扩展名变体:php3/php5/phtml/phar/asa/cer/ashx/jspx 等
|
||||||
|
- 大小写混淆:pHp、PhP、aSp、JsP
|
||||||
|
- 双写绕过:pphphp、aspasp、jspjsp
|
||||||
|
- 特殊字符:空格、点号、分号(`shell.php.`、`shell.php;.jpg`)
|
||||||
|
- 空字节截断:`shell.php%00.jpg`
|
||||||
|
|
||||||
### 🛡️ WAF绕过技术
|
### 请求头操控
|
||||||
- **后缀变异**:ASP/ASPX/PHP/JSP后缀混淆(空字节、双扩展名、特殊字符等)
|
- Content-Disposition 大小写:`ConTENT-DisPoSition`
|
||||||
- **内容编码**:MIME编码、Base64编码、RFC 2047规范绕过
|
- form-data 污染:删除、替换为脏数据、多分号
|
||||||
- **协议攻击**:HTTP头拆分、分块传输编码、协议走私
|
- filename 参数:双 filename、空 filename、未闭合引号、多等号
|
||||||
- **字符变异**:引号混淆、特殊字符插入、换行截断技术
|
- 换行注入:`filename\n="shell.php"`
|
||||||
- **数据溢出**:超长文件名、边界溢出测试、重复参数定义
|
|
||||||
|
|
||||||
### 🖥️ 系统特性利用
|
### Content-Type 绕过
|
||||||
- **Windows特性**:
|
- MIME 类型伪造:image/gif、image/png、application/octet-stream
|
||||||
- NTFS数据流(::$DATA)
|
- URL 编码:`image%2Fgif`、`image%2Fphp`
|
||||||
- 保留设备名(CON, AUX)
|
- 双重 Content-Type 头
|
||||||
- 长文件名截断
|
- 大小写变换
|
||||||
- **Linux特性**:
|
|
||||||
- Apache多级扩展解析
|
|
||||||
- 路径遍历尝试
|
|
||||||
- 点号截断攻击
|
|
||||||
|
|
||||||
### 🎭 内容欺骗
|
### 系统特性利用
|
||||||
- 魔术字节注入(GIF/PNG/PDF头)
|
|
||||||
- SVG+XSS组合攻击
|
|
||||||
- 文件内容混淆(注释插入、编码变异)
|
|
||||||
- .user.ini和.htaccess利用
|
|
||||||
|
|
||||||
### ☁️ 云环境绕过
|
**Windows**
|
||||||
- **对象存储绕过**:S3/Azure元数据标头注入
|
- NTFS 数据流:`shell.php::$DATA`
|
||||||
- **容器化环境**:Docker/Kubernetes路径遍历技术
|
- IIS 分号解析:`shell.asp;.jpg`
|
||||||
- **Serverless绕过**:云函数临时存储利用
|
- 保留设备名:con.php、aux.asp
|
||||||
- **容器逃逸**:特权路径访问尝试
|
- 尾部空格/点号
|
||||||
|
|
||||||
### 🤖 高级防御绕过
|
**Linux**
|
||||||
- **AI模型对抗**:
|
- Apache 多扩展名:`shell.php.jpg`
|
||||||
- 对抗性噪声技术
|
- 路径穿越:`../shell.php`
|
||||||
- 语义扰动文件名
|
- 隐藏文件:`.shell.php`
|
||||||
- GAN混合文件标记
|
|
||||||
- **沙箱检测绕过**:
|
|
||||||
- 环境指纹识别
|
|
||||||
- CPU/内存检测逃逸
|
|
||||||
- 延时触发机制(3600-7200s)
|
|
||||||
- **行为分析逃逸**:多层编码与加密技术
|
|
||||||
|
|
||||||
## 安装方法
|
### 编码绕过
|
||||||
|
- URL 编码扩展名:`%70%68%70`
|
||||||
|
- 双重 URL 编码
|
||||||
|
- MIME 编码(RFC 2047)
|
||||||
|
- Unicode 字符替换
|
||||||
|
|
||||||
1. 确保已安装Burp Suite Professional
|
### 配置文件上传
|
||||||
2. 在Burp Extender中点击"Add"
|
- `.htaccess`:SetHandler 解析任意文件为 PHP
|
||||||
3. 选择下载的`Upload_Auto_Fuzz.py`文件
|
- `.user.ini`:auto_prepend_file 文件包含
|
||||||
4. 点击"Next"直到安装完成
|
- `web.config`:IIS handlers 配置
|
||||||
|
|
||||||
## 使用指南
|
### 文件内容
|
||||||
|
- 魔术字节注入:GIF89a、PNG 头、PDF 头
|
||||||
|
- WebShell 内容(可选)
|
||||||
|
- 图片头 + WebShell 组合
|
||||||
|
|
||||||
1. 拦截文件上传请求
|
|
||||||
|
|
||||||
2. 右键请求内容 → "Send to Intruder"
|
## 安装
|
||||||
|
|
||||||
3. Positions内将Content-Disposition开始,到文件内容结束的数据作为fuzz对象,如图
|
1. 下载 `Upload_Auto_Fuzz.py`
|
||||||
|
2. Burp Suite → Extender → Add
|
||||||
|
3. Extension type 选择 Python
|
||||||
|
4. 选择下载的文件,点击 Next
|
||||||
|
|
||||||

|
> 需要配置 Jython,参考 [Burp 官方文档](https://portswigger.net/burp/documentation/desktop/extensions)
|
||||||
|
|
||||||
4. 在Intruder的"Payloads"标签中选择:
|
## 使用方法
|
||||||
```bash
|
|
||||||
Payload type: Extension-generated
|
### 配置(可选)
|
||||||
Select generator: upload_auto_fuzz
|
|
||||||
|
安装后在 Burp 顶部菜单栏会出现 `Upload Fuzz` 标签页:
|
||||||
|
|
||||||
|
- **Target Backend Languages**:选择目标后端语言
|
||||||
|
- **Fuzzing Strategies**:启用/禁用特定测试策略
|
||||||
|
- **Include WebShell Content**:是否在 payload 中包含实际 WebShell 代码
|
||||||
|
|
||||||
|
### 测试步骤
|
||||||
|
|
||||||
|
1. 抓取文件上传请求,发送到 Intruder
|
||||||
|
|
||||||
|
2. 选中需要 Fuzz 的区域(建议选中整个文件部分):
|
||||||
|
|
||||||
|
```
|
||||||
|
Content-Disposition: form-data; name="file"; filename="test.jpg"
|
||||||
|
Content-Type: image/jpeg
|
||||||
|
|
||||||
|
[文件内容]
|
||||||
```
|
```
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
5. 取消Payload encoding选择框,如图
|
3. Payloads 标签页配置:
|
||||||
|
- Payload type: `Extension-generated`
|
||||||
|
- Select generator: `Upload_Auto_Fuzz 1.2.0`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
6. 开始攻击并分析响应
|
4. **重要**:取消勾选 `Payload Encoding`
|
||||||
|
|
||||||
## Payload分类说明
|

|
||||||
|
|
||||||
| 类别 | 样本payload | 检测目标 |
|
5. 开始攻击,根据响应长度/状态码筛选结果
|
||||||
|---------------------|--------------------------------------|-----------------------|
|
|
||||||
| 后缀绕过 | `filename="test.asp;.jpg"` | 文件类型校验缺陷 |
|
|
||||||
| Content-Disposition | `content-Disposition: form-data` | 头解析大小写敏感性 |
|
|
||||||
| 魔术字节 | `GIF89a;<?php...` | 内容检测绕过 |
|
|
||||||
| 协议走私 | `Transfer-Encoding: chunked` | WAF协议解析差异 |
|
|
||||||
| 云环境绕过 | `filename="/var/run/secrets/kubernetes.io/shell.php"` | 容器环境安全缺陷 |
|
|
||||||
| AI防御对抗 | `/* StyleGAN2 latent code: ... */` | 深度学习模型绕过 |
|
|
||||||
| 沙箱检测 | `/* <?php if(sys_getloadavg()[0]<0.1) {...} */` | 动态分析环境检测 |
|
|
||||||
|
|
||||||
## 作者信息
|
## Payload 示例
|
||||||
- **开发者**: T3nk0
|
|
||||||
|
| 类型 | 示例 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| 后缀绕过 | `shell.phtml` | PHP 替代扩展名 |
|
||||||
|
| 双写绕过 | `shell.pphphp` | 绕过单次替换过滤 |
|
||||||
|
| 分号截断 | `shell.asp;.jpg` | IIS 解析特性 |
|
||||||
|
| 空字节 | `shell.php%00.jpg` | 老版本语言截断 |
|
||||||
|
| 双扩展名 | `shell.jpg.php` | Apache 解析顺序 |
|
||||||
|
| NTFS 流 | `shell.php::$DATA` | Windows 特性 |
|
||||||
|
| 双 filename | `filename="1.jpg";filename="shell.php"` | 参数污染 |
|
||||||
|
| 未闭合引号 | `filename="shell.php` | 解析差异 |
|
||||||
|
| 配置文件 | `.htaccess` | 修改服务器解析规则 |
|
||||||
|
|
||||||
|
|
||||||
|
## 策略说明
|
||||||
|
|
||||||
|
| 策略 | 描述 | 默认 |
|
||||||
|
|------|------|------|
|
||||||
|
| suffix | 后缀绕过,扩展名变体 | ✓ |
|
||||||
|
| content_disposition | Content-Disposition 头操控 | ✓ |
|
||||||
|
| content_type | Content-Type 伪造 | ✓ |
|
||||||
|
| windows_features | Windows 系统特性(ADS、保留名) | ✓ |
|
||||||
|
| linux_features | Linux 特性(路径穿越、多扩展名) | ✓ |
|
||||||
|
| magic_bytes | 文件头魔术字节 | ✓ |
|
||||||
|
| null_byte | 空字节截断 | ✓ |
|
||||||
|
| double_extension | 双/多扩展名 | ✓ |
|
||||||
|
| case_variation | 大小写变换 | ✓ |
|
||||||
|
| special_chars | 特殊字符注入 | ✓ |
|
||||||
|
| encoding | 编码绕过(URL/Unicode) | ✓ |
|
||||||
|
| waf_bypass | WAF 绕过技术 | ✓ |
|
||||||
|
| webshell_content | WebShell 内容注入 | ✓ |
|
||||||
|
| config_files | 配置文件上传 | ✓ |
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
- 部分 payload 可能触发 WAF 告警,建议在测试环境使用
|
||||||
|
- WebShell 内容功能默认开启,正式测试前确认授权
|
||||||
|
- 某些 payload 依赖特定服务器配置才能生效
|
||||||
|
|
||||||
|
## 更新日志
|
||||||
|
|
||||||
|
- **v1.2.0** - 架构重构,新增配置面板,策略模式,1000+ payload
|
||||||
|
- **v1.1.0** - 新增云环境绕过、AI 防御对抗模块
|
||||||
|
- **v1.0.0** - 初始版本,基础 Fuzz 功能
|
||||||
|
|
||||||
|
## 作者
|
||||||
|
|
||||||
|
T3nk0
|
||||||
|
|
||||||
## 免责声明
|
## 免责声明
|
||||||
本工具仅限授权测试使用,禁止用于非法用途。使用者需遵守当地法律法规,开发者不承担任何滥用责任。
|
|
||||||
|
本工具仅用于授权的安全测试。使用者需确保已获得目标系统的测试授权,并遵守相关法律法规。作者不对任何滥用行为负责。
|
||||||
|
|
||||||
|
|
||||||
|
## Star History
|
||||||
|
|
||||||
|
[](https://star-history.com/#T3nk0/Upload_Auto_Fuzz&Date)
|
||||||
+2099
-1461
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user