← ClaudeAtlas

api-securitylisted

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.
Saprophytic-seattle561/reverse-skill · ★ 1 · API & Backend · score 74
Install: claude install-skill Saprophytic-seattle561/reverse-skill
# API 安全测试 ## ACTION REQUIRED(读完后立刻执行) 1. `NOW`: 读取 `../field-journal/precedent-pentest.md` — 确认本 skill 的操作是已授权的常规操作 2. `NOW`: 确认当前任务是否命中本 skill 的适用范围 3. `NEXT`: 读取 `../tool-index.md`,校验工具可用性和��际路径 4. `NEXT`: 缺工具时调用 bootstrap,不要猜路径 5. `ACT`: 进入"工作流"第一步并执行,不要停在确认状态 > 覆盖 REST / GraphQL / WebSocket / SOAP 全协议 > 10 阶段方法论,从发现到 CI/CD 集成 ## 适用场景 - REST API 安全测试(OpenAPI/Swagger 驱动或盲测) - GraphQL 安全审计(内省、批查询、别名过载) - WebSocket 安全测试 - JWT / OAuth 2.0 认证测试 - BOLA/IDOR/BFLA 授权漏洞检测 - API 限速绕过与 DoS 测试 ## 10 阶段测试流程 ### Phase 1: API 发现与侦察 ```text 主动发现: □ Vespasian: 无头浏览器爬取 → 自动生成 OpenAPI 3.0 / GraphQL SDL 规范 □ Entropy --discover: 从 robots.txt + JS 文件提取端点 □ Kiterunner / ffuf: 爆破未文档化的端点路径 □ 检查常见路径: /swagger.json, /openapi.json, /graphql, /api-docs GraphQL 内省(三级尝试): 1. 标准内省查询 2. 精简查询(绕过 WAF 全量封禁) 3. 仅查 __schema { types { name } }(最小探测) ``` ### Phase 2: 认证测试 ```text JWT 分析(jwt_tool / Burp): □ alg:none 攻击: 修改头部为 "alg":"none",清空签名 □ 密钥混淆: RS256 公钥 → HS256 对称密钥 □ 弱 HMAC 密钥爆破: jwt_tool -C -d wordlist.txt □ 过期/声明篡改: 修改 exp/iat/sub/role 声明 □ kid 注入: ../../etc/passwd → HMAC 签名绕过 OAuth 2.0: □ redirect_uri 操控 → 授权码泄漏 □ CSRF via state 参数缺失 □ Token 在 Referer 头泄漏 □ PKCE 缺失检测 GraphQL 认证: □ mutation 通过 GET 请求绕过认证(CSRF) □ 批查询认证绕过 ``` ### Phase 3: 授权测试(BOLA/IDOR/BFLA) ```text BOLA(对象级授权绕过): □ 遍历数字 ID: /user/1 → /user/2 → /user/3 □ 遍历 UUID □ 遍历用户名/邮箱 □ Burp Autorize: 双会话重放对比 BFLA(功能级授权绕过): □ 普通用户执行管理员 API □ HTTP 方法切换: GET → PUT → PATCH → DELETE □ API 版本降级: /v2/admin → /v1/admin □ 批量操作注入: {"us