移动 App 后端 API 安全测试方法论。
【用途】 用于移动应用后端 API 的安全测试。移动后端 API 与传统 Web 的区别在于:移动端通常直接调用 REST API(不经过浏览器),其认证机制、参数格式、业务逻辑都带有移动端特色。
【主要内容与阶段】 本技能按阶段组织测试流程。
Phase 1:API 端点发现
- 目录爆破,推荐 spray:spray -u http://target -d /pentest/AboutSecurity/Dic/web/directory/common.txt
- 或使用 ffuf:ffuf -u http://target/FUZZ -w /pentest/AboutSecurity/Dic/web/directory/common.txt -mc 200,301,302,403
- 关注路径:/api/v1/, /api/v2/, /mobile/api/, /graphql
- 检查文档:/docs, /swagger, /openapi.json, /redoc
- App 逆向:抓包(Burp/Charles);APK 反编译搜索 URL 字符串
Phase 2:认证机制测试 常见认证方式、特征与攻击方向:
- JWT:特征 Bearer eyJ...,攻击方向参见 jwt-attack-methodology
- API Key:特征 X-API-Key,攻击方向为泄露检测
- OAuth:特征 /oauth/token,攻击方向参见 oauth-sso-attack
- 自定义签名:特征 sign=md5(...),攻击方向为签名算法逆向 绕过测试:不带 Token 访问;过期 Token;修改 user_id/role;低权限访问高权限 API
Phase 3:业务逻辑漏洞
- 越权访问(IDOR)示例:GET /api/v1/users/1001/profile 访问自己;GET /api/v1/users/1002/profile 访问别人则构成 IDOR。
- 支付/验证码/竞态等详细方法和 payload 参见 references/mobile-logic-bugs.md。
【注意事项】
- 移动 API 通常比 Web 更信任客户端,后端校验更少。
- 注意 API 版本差异:v1 可能存在漏洞,v2 修复了但 v1 未下线。
【深入参考(必读)】 支付篡改、验证码绕过、竞态、数据安全、移动端特有问题,参见 references/mobile-logic-bugs.md。