fitijoe/fitijoe-api-tester
GitHub: fitijoe/fitijoe-api-tester
面向漏洞赏金猎人的高级API安全测试框架,自动化检测OWASP API Top 10中的多种漏洞并生成可直接提交的测试报告。
Stars: 1 | Forks: 0
# 🔐 fitijoe API 安全测试工具
### 面向漏洞赏金猎人的高级 API 安全测试框架
[](LICENSE)
[](https://www.python.org/)
[](https://www.kali.org/)
[](https://github.com/fitijoe)
[](https://owasp.org/API-Security/)
[](https://hackerone.com/fitijoe)
[](https://bugcrowd.com/fitijoe)
## 🚀 测试内容
| # | 漏洞类型 | 严重程度 |
|---|--------------|----------|
| API1 | BOLA / IDOR — 通过修改 ID 访问其他用户数据 | 🔴 严重 |
| API2 | 认证缺陷 — 端点可在无令牌情况下访问 | 🔴 严重 |
| API2 | 默认凭据 — admin/admin, root/root | 🔴 严重 |
| API2 | JWT 攻击 — None 算法、弱密钥、算法混淆 | 🔴 严重 |
| API3 | 批量赋值 — 注入 role=admin, isAdmin=true | 🟡 高危 |
| API4 | 无速率限制 — 暴力破解登录和 OTP | 🟡 高危 |
| API5 | BFLA — 普通用户调用管理员端点 | 🟡 高危 |
| API7 | SQL 注入 — API 查询参数和请求体 | 🔴 严重 |
| API8 | CORS 配置错误 — 允许任意来源 | 🟡 高危 |
| API8 | 缺少安全头 — CSP, HSTS, X-Frame-Options | 🔵 中危 |
| API8 | 详细错误信息 — 堆栈跟踪、文件路径 | 🔵 中危 |
| API8 | GraphQL 内省 — 完整架构暴露 | 🟡 高危 |
| API9 | 旧版 API — /api/v1 仍在运行 | 🔵 中危 |
| API9 | Swagger/OpenAPI 暴露 — 完整 API 地图可访问 | 🔵 中危 |
| API10 | 敏感数据泄露 — 响应中包含密码、令牌 | 🟡 高危 |
## 📋 四个阶段
### 阶段 1 — API 发现
- 检测技术栈(Django、Laravel、Express、Spring Boot、FastAPI)
- 查找 Swagger/OpenAPI/GraphQL 规范文件
- 自动从规范中提取所有端点
- 使用 API 字典进行 ffuf 端点模糊测试
- 探测 30+ 个常见 API 端点
### 阶段 2 — 漏洞测试
- 测试每个端点的认证绕过
- BOLA/IDOR — 修改 ID 并检查未授权访问
- JWT 分析 — 解码头部、测试 none 算法、标记弱算法
- CORS — 测试 5 个恶意来源,包括 null 和子域绕过
- 速率限制 — 向登录端点发送 10 个快速请求
- 批量赋值 — 注入危险字段(role、admin、balance)
- SQL 注入 — 测试 GET 参数和 POST 请求体
- HTTP 方法测试 — 在所有端点上测试 DELETE、PUT、PATCH、TRACE
- 响应中的敏感数据模式匹配
### 阶段 3 — 利用指导
- 针对发现的每个漏洞提供可直接使用的利用命令
- 精确的 curl、ffuf、sqlmap、hydra、jwt_tool 命令
- CORS 攻击的 PoC HTML 文件
- JWT 伪造的 Python 脚本
- 每个发现的危害描述
### 阶段 4 — 专业报告
- 自动生成完整的漏洞赏金报告
- 严重/高危/中危/低危严重程度分类
- 所有端点和技术的文档记录
- 可直接提交到 HackerOne 或 Bugcrowd
## 📥 安装
```
# 克隆仓库
git clone https://github.com/fitijoe/fitijoe-api-tester.git
cd fitijoe-api-tester
# 安装必需工具
sudo apt install curl -y
# 安装可选工具(推荐)
sudo apt install ffuf sqlmap gobuster -y
# 安装 Go 工具
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# 安装 Python 工具
pip3 install arjun jwt_tool --break-system-packages
# 设为可执行
chmod +x fitijoe-api-tester.py
```
## ⚡ 使用方法
```
# 完整扫描 — 无认证
python3 fitijoe-api-tester.py -t https://api.target.com
# 完整扫描 — 使用 JWT 令牌
python3 fitijoe-api-tester.py -t https://api.target.com -T eyJhbGci...
# 仅发现
python3 fitijoe-api-tester.py -t https://api.target.com --phase discovery
# 仅漏洞扫描
python3 fitijoe-api-tester.py -t https://api.target.com -T TOKEN --phase vuln
# 生成专业漏洞赏金报告
python3 fitijoe-api-tester.py -t https://api.target.com -T TOKEN --report
# 自定义输出文件夹
python3 fitijoe-api-tester.py -t https://api.target.com -o ./my_reports
```
## 🧪 合法练习目标
```
# reqres.in — 免费 REST API 练习
python3 fitijoe-api-tester.py -t https://reqres.in
# Vulnweb — 故意存在漏洞
python3 fitijoe-api-tester.py -t http://testphp.vulnweb.com
# OWASP crAPI — 漏洞 API 练习
# https://github.com/OWASP/crAPI
```
## 📊 示例输出
## ⚠️ 法律声明
此工具仅用于**授权的安全测试**。
- 在测试任何 API 之前务必获得**书面许可**
- 仅测试您拥有或明确获得授权的 API
- 作者对任何滥用行为**不承担责任**
## 👤 作者
**fitijoe (MohamedSuleiman)**
- 🐙 GitHub: [@fitijoe](https://github.com/fitijoe)
- 🔐 HackerOne: [fitijoe](https://hackerone.com/fitijoe)
- 🛡️ Bugcrowd: [fitijoe](https://bugcrowd.com/fitijoe)
- 🛠️ 其他工具: [Mohamed Pentesting Tool](https://github.com/fitijoe/mohamed-pentesting-tool)
*由 fitijoe 为道德黑客社区用心打造*
标签:API安全, API测试, Bug Bounty, CISA项目, CORS配置, GraphQL安全, HTTP工具, IDOR检测, IP 地址批量处理, JSON输出, JWT安全, OpenAPI安全, OWASP API Top 10, PoC, Python安全工具, Web安全, 可自定义解析器, 多语言支持, 安全测试框架, 批量赋值漏洞, 授权测试, 敏感数据泄露, 暴力破解, 网络安全审计, 蓝队分析, 认证测试, 逆向工具, 速率限制检测, 默认凭据