SwaggerFuzzer
- 🌐 一款自动化 OpenAPI/Swagger 接口未授权访问测试工具
- 🚀 工具介绍:SwaggerFuzzer
- ✨ 核心功能亮点
- 🚀 快速使用
- 🧰 支持参数
- 📌 项目结构
- 📥 获取与下载
🌐 一款自动化 OpenAPI/Swagger 接口未授权访问测试工具
在现代接口安全测试中,自动化检测未授权访问漏洞已成为不可或缺的流程。SwaggerFuzzer 受启发于常见安全测试流程中对 Swagger 自动化利用的需求,适合搭配 BurpSuite 使用。是一款专为渗透测试人员打造的轻量级命令行工具,支持对 OpenAPI 3.0 / Swagger 接口文档进行解析、测试并生成详细报告,快速定位安全隐患。
🚀 工具介绍:SwaggerFuzzer
SwaggerFuzzer 是一个支持本地与远程 OpenAPI/Swagger 文档解析的自动化接口扫描工具,具备参数提取、模拟请求、响应记录、权限校验等功能,适用于 API 安全测试、渗透测试前的预审查等场景。
✨ 核心功能亮点
- 🔍 自动解析 OpenAPI 3.0/3.1 JSON 文档(支持远程和本地文件)
- 🧪 构造所有 API 请求,包括 Path、Query、Header、Body 各种参数
- ⚡ 支持多线程并发测试接口,提升 fuzz 速度
- 📄 自动根据 content-type 构造 JSON、表单、XML、文件上传、ZIP、PDF 等请求体
- 🕵️ 检测敏感响应(如状态码 200、5XX、422、400)
- 🖨️ 控制台彩色输出简洁摘要(带状态码高亮)
- 📦 CSV 文件保存接口调用结果,支持后续分析
- 🔌 支持代理抓包(例如通过 BurpSuite 拦截)
- 🔐 可添加自定义请求头(如 Authorization)
🚀 快速使用
python main.py -u http://example.com -f swagger.json
或者只使用远程地址:
python main.py -u http://example.com/swagger/v1/swagger.json
🧰 支持参数
参数 | 说明 | 示例 |
---|---|---|
-u , --url | 必填,base URL 或完整 OpenAPI JSON 地址 | http://target.com |
-f , --file | 可选,OpenAPI JSON 本地路径或相对路径 | ./swagger.json |
-p , --proxy | 设置代理 | http://127.0.0.1:8080 |
-t , --threads | 多线程数量(默认1) | -t 5 |
-o , --output | 输出文件格式(当前仅支持 csv) | -o csv |
-d , --delay | 每个请求间隔秒数 | -d 0.5 |
--header | 自定义请求头(可重复) | --header="Authorization: Bearer xxx" |
📌 项目结构
.
├── SwaggerFuzzer.py # 主程序逻辑(加载 spec、构造请求、发送与记录)
├── util.py # 工具函数(header 解析、URL 拼接、加载 Swagger 文档)
├── requirements.txt # 依赖库
├── README.md # 使用说明
📥 获取与下载
工具开源于 GitHub,可访问以下地址获取源码与使用说明:
👉 GitHub 仓库地址:https://github.com/Secur1ty0/SwaggerFuzzer
欢迎 Star、Fork 并提交 issue 参与完善!