关于 pentest-api-deep
pentest-api-deep 是面向授权安全测试人员的 API 渗透测试技能,覆盖 OWASP API Security Top 10(2023)的多类风险,并提供发现、测试和验证工作流。
主要功能
- 01API 端点与隐藏参数发现
- 02BFLA 与批量赋值测试
- 03速率限制和资源消耗测试
- 04过度数据暴露检查
- 05SSRF 与上游 API 注入测试
- 06API 版本和废弃端点检查
适用场景
- 01依据 OpenAPI、GraphQL 或 gRPC 信息枚举接口
- 02比较不同权限账户的 API 响应
- 03检查 API 的速率限制和复杂度控制
- 04测试旧版本 API 与上游数据处理风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jd-opensource/ joysafeter --skill pentest-api-deep安装后在 Claude Code 中输入/pentest-api-deep确认已加载。
附带文件references/tools.mdreferences/workflows.md
详细介绍
Pentest API Deep
用途
执行专门的 API 漏洞测试,覆盖基础 BOLA/GraphQL 测试之外的内容。针对 OWASP API Security Top 10(2023)中的功能级授权失效(BFLA)、批量赋值、速率限制、过度数据暴露和不安全消费问题。
前提条件
授权要求
- 书面授权,并明确包含 API 测试范围
- API 文档(OpenAPI/Swagger 规范、GraphQL schema)(如有)
- 多个权限级别的测试账号(用户、管理员、服务账号)
- 了解速率限制——与目标所有者确认可接受的请求量
环境设置
- 用于手动探索 API 的 Postman 或 Insomnia
- 带有 API 专用扩展的 Burp Suite
- 用于 schema 可视化的 GraphQL Voyager
- 用于测试 gRPC 服务的 grpcurl
核心工作流
- API 发现:通过 OpenAPI/Swagger 规范、GraphQL 内省、gRPC 反射和流量分析枚举端点。使用 Kiterunner 发现未记录的端点。
- BFLA 测试:以普通用户身份访问仅限管理员使用的 API 功能。切换 HTTP 方法(GET→DELETE)。测试不同于对象级授权(BOLA)的功能级授权缺口。
- 批量赋值:在 POST/PUT 请求中发送额外字段(role、isAdmin、balance)。检查响应对象是否泄露内部字段(WSTG-INPV-20)。
- 速率限制与资源:测试缺失的速率限制、GraphQL 深度/复杂度滥用、分页滥用,以及通过 API 输入触发的正则表达式 DoS。
- 过度数据暴露:比较不同权限级别下的 API 响应。识别响应中返回但 UI 未显示的字段。测试详细的错误响应。
- 不安全消费:通过上游 API 调用实施 SSRF,通过可信但已受污染的 API 响应数据实施注入。
- API 版本管理:测试控制较弱的旧版 API、版本标头操纵和已弃用端点访问。
OWASP API Security Top 10(2023)覆盖范围
| 类别 | 测试重点 | 状态 |
|---|---|---|
| API1 对象级授权失效 | 通过 API 参数进行 IDOR 测试 | ✅ |
| API2 身份验证失效 | 令牌/密钥弱点 | ✅ |
| API3 对象属性级授权失效 | 批量赋值、过度数据 | ✅ |
| API4 无限制资源消耗 | 速率限制、复杂度 | ✅ |
| API5 功能级授权失效 | BFLA、方法切换 | ✅ |
| API6 对敏感业务流的无限制访问 | 自动化滥用 | ✅ |
| API7 服务器端请求伪造 | API 触发的 SSRF | ✅ |
| API8 安全配置错误 | CORS、标头、版本管理 | ✅ |
| API9 不当资产管理 | 影子 API、已弃用版本 | ✅ |
| API10 不安全地消费第三方 API | 上游注入 | ✅ |
工具类别
| 类别 | 工具 | 用途 |
|---|---|---|
| API 发现 | Kiterunner、Swagger UI、GraphQL Voyager | 端点枚举 |
| 参数发现 | Arjun、x8、ParamSpider | 隐藏参数检测 |
| 模糊测试 | ffuf、Burp Intruder、自定义脚本 | 批量赋值、BFLA |
| GraphQL | graphql-cop、InQL、BatchQL | GraphQL 专用攻击 |
| gRPC | grpcurl、grpc-tools | gRPC 反射与测试 |
| 速率测试 | 自定义 aiohttp 脚本、Turbo Intruder | 速率限制验证 |
参考资料
references/tools.md- 工具函数签名和参数references/workflows.md- 攻击模式定义和测试向量
评论
支持 Markdown