[ PROMPT_NODE_23680 ]
security-testing
[ SKILL_DOCUMENTATION ]
# API 安全测试
> API 安全测试原则。涵盖 OWASP API Top 10、认证及授权测试。
---
## OWASP API 安全 Top 10
| 漏洞 | 测试重点 |
|---------------|------------|
| **API1: BOLA** | 访问其他用户的资源 |
| **API2: Broken Auth** | JWT、会话、凭证 |
| **API3: Property Auth** | 批量赋值、数据暴露 |
| **API4: Resource Consumption** | 速率限制、DoS |
| **API5: Function Auth** | 管理员端点、角色绕过 |
| **API6: Business Flow** | 逻辑滥用、自动化 |
| **API7: SSRF** | 内部网络访问 |
| **API8: Misconfiguration** | 调试端点、CORS |
| **API9: Inventory** | 影子 API、旧版本 |
| **API10: Unsafe Consumption** | 第三方 API 信任 |
---
## 认证测试
### JWT 测试
| 检查项 | 测试内容 |
|-------|--------------|
| 算法 | None 算法、算法混淆 |
| 密钥 | 弱密钥、暴力破解 |
| 声明 (Claims) | 过期时间、签发者、受众 |
| 签名 | 篡改、密钥注入 |
### 会话测试
| 检查项 | 测试内容 |
|-------|--------------|
| 生成 | 可预测性 |
| 存储 | 客户端安全 |
| 过期 | 超时强制执行 |
| 失效 | 注销有效性 |
---
## 授权测试
| 测试类型 | 方法 |
|-----------|----------|
| **水平越权** | 访问同级用户数据 |
| **垂直越权** | 访问高权限功能 |
| **上下文越权** | 访问允许范围之外的数据 |
### BOLA/IDOR 测试
1. 识别请求中的资源 ID
2. 捕获用户 A 会话的请求
3. 使用用户 B 的会话重放
4. 检查是否未经授权访问
---
## 输入验证测试
| 注入类型 | 测试重点 |
|----------------|------------|
| SQL | 查询篡改 |
| NoSQL | 文档查询 |
| 命令 | 系统命令 |
| LDAP | 目录查询 |
**方法:** 测试所有参数,尝试类型转换,测试边界,检查错误消息。
---
## 速率限制测试
| 方面 | 检查项 |
|--------|-------|
| 存在性 | 是否存在限制? |
| 绕过 | 请求头、IP 轮换 |
| 范围 | 每个用户、每个 IP、全局 |
**绕过技术:** X-Forwarded-For、不同的 HTTP 方法、大小写变体、API 版本控制。
---
## GraphQL 安全
| 测试 | 重点 |
|------|-------|
| 内省 (Introspection) | 模式泄露 |
| 批处理 | 查询 DoS |
| 嵌套 | 基于深度的 DoS |
| 授权 | 字段级访问 |
---
## 安全测试清单
**认证:**
- [ ] 测试绕过
- [