SuperAPI AI 工具集

testing-api-authentication-weaknesses

安全与审计

查看项目

更新于 10-15 12:38

技能介绍

用途

本技能用于评估 REST API 认证机制是否存在绕过漏洞,适合在生产部署前进行安全测试。测试范围涵盖:JWT 令牌实现的常见弱点(none 算法、密钥混淆、缺少过期时间)、所有 API 端点是否强制认证、API 密钥的生成/存储/轮换是否可预测或泄露、会话管理(令牌过期、吊销、刷新令牌安全)等。

注意:未经书面授权不得使用。认证测试涉及尝试绕过安全控制。

主要能力

  • 认证机制识别:探测 JWT Bearer、API Key(Header/Query)、Basic Auth、OAuth2、Session Cookie、自定义令牌等。
  • 未认证端点发现:批量探测常见路径(如 /users、/admin、/health、/metrics、/actuator、/swagger.json、/graphql、/.env 等),识别返回非 401/403 的开放端点。
  • JWT 令牌分析:解码 header 与 payload,检查算法(alg:none、HS256 等)、过期声明(exp)、敏感字段、标准声明缺失、kid 注入风险。
  • JWT 操纵攻击:构造 alg:none 令牌、篡改 payload 声明(如 role、is_admin)测试签名校验、暴力破解弱 HMAC 密钥。
  • 令牌生命周期测试:登出后令牌是否仍有效、密码修改后旧令牌是否失效、刷新令牌是否轮换、令牌是否可通过 URL 参数传递导致泄露。
  • 密码策略与凭据测试:测试注册/改密端点的弱密码接受情况、通过登录响应差异检测账户枚举。

使用方式

前置条件:

  • 书面授权,明确目标 API 与认证机制范围
  • 至少两个用户角色的有效测试凭据(普通用户、管理员)
  • Burp Suite Professional 及 JWT 相关扩展(JSON Web Tokens、JWT Editor)
  • Python 3.10+,安装 requests、PyJWT、jwt 库
  • 凭据测试字典(SecLists authentication wordlists)
  • API 文档或 OpenAPI 规范

工作流分为六步:

  1. 认证机制识别:探测未认证访问、检查 WWW-Authenticate 头、登录并检查返回的令牌与 Cookie。
  2. 未认证端点发现:对常见端点列表发起无认证请求,记录非 401/403 响应。
  3. JWT 令牌分析:解码并检查算法、过期、敏感字段、缺失声明、kid。
  4. JWT 操纵攻击:测试 alg:none 绕过、篡改声明提权、暴力破解 HMAC 密钥。
  5. 令牌生命周期测试:登出后重用、密码修改后重用、刷新令牌重用、URL 中传递令牌。
  6. 密码策略与凭据测试:弱密码接受、账户枚举。

适用场景

  • SaaS 平台 API 认证评估:JWT 签发与刷新机制、密钥强度、令牌吊销、密码重置端点信息泄露、未认证的 /health 与 /metrics 端点。
  • 生产部署前的认证绕过测试。
  • JWT 实现安全审计。
  • API 密钥与会话管理安全验证。

限制与注意事项

  • 必须获得书面授权,否则不得使用。
  • 常见陷阱:只测试登录端点而遗漏密码重置、MFA、令牌刷新流程;未检查 JWT 密钥在各环境(dev/staging/prod)是否相同;忽略令牌生命周期(如 7 天无吊销);未测试令牌在服务器日志、URL 参数或错误消息中的泄露。
  • 输出格式示例:以 Finding 形式记录,包含 ID、严重级别、OWASP API 分类、受影响组件、描述、攻击链、修复建议。

关键概念

  • Broken Authentication:OWASP API2:2023,认证机制弱点导致攻击者可冒充合法用户。
  • JWT:header.payload.signature 结构的自包含令牌,用于无状态 API 认证。
  • Token Revocation:服务端在过期前使令牌失效的机制,对登出和改密至关重要。
  • Credential Stuffing:使用泄露的用户名/密码对自动化攻击认证端点。
  • Account Enumeration:通过不同错误消息或响应时间判断有效用户名。
  • Refresh Token Rotation:每次使用刷新令牌生成新令牌,防止重用攻击。

工具与系统

  • Burp Suite JWT Editor:解码、编辑、重签 JWT 的扩展。
  • jwt_tool:Python JWT 测试工具,支持 12+ 攻击模式。
  • hashcat:GPU 加速密码破解,支持 JWT HMAC 密钥暴力破解(模式 16500)。
  • Hydra:网络登录暴力破解工具。
  • Nuclei:基于模板的扫描器,含认证绕过检测模板。