用途
Broken Authentication Testing 用于识别和利用 Web 应用中的身份认证与会话管理漏洞。失效的身份认证长期位列 OWASP Top 10,可能导致账户接管、身份盗用以及对敏感系统的未授权访问。该技能覆盖密码策略、会话处理、多因素认证和凭据管理等方面的测试方法。
主要能力
该技能围绕以下测试方向展开:
- 认证机制分析:识别密码、令牌(JWT、OAuth、API 密钥)、证书、多因素等认证类型,并梳理登录、注册、找回密码、重置密码、登出、API 认证等端点。
- 密码策略测试:评估最小长度、复杂度、常见弱密码、用户名作密码等策略缺口。
- 凭据枚举:通过响应差异、时间差异、状态码、注册与密码重置提示判断用户名是否存在。
- 暴力破解测试:测试账户锁定与速率限制,可使用 Hydra 或 Burp Intruder。
- 凭据填充:使用已知泄露的邮箱与密码对进行测试,并涉及检测规避手段。
- 会话管理测试:分析会话令牌的熵、长度、可预测性以及 HttpOnly、Secure、SameSite 等标志。
- 会话固定测试:检查认证后会话是否重新生成。
- 会话超时测试:验证空闲超时、绝对超时以及登出后会话是否在服务端失效。
- 多因素认证测试:评估 OTP 暴力破解、OTP 绕过、API 版本降级攻击以及 MFA 注册与恢复流程。
- 密码重置测试:分析重置令牌的安全性、令牌操纵、Host 头注入等问题。
使用方式
该技能以分阶段工作流组织测试:
- 认证机制分析:识别认证类型并映射认证端点,捕获并分析认证请求。
- 密码策略测试:测试最小长度、复杂度、常见弱密码及用户名作密码。
- 凭据枚举:比较有效与无效用户名的响应差异。
- 暴力破解测试:使用 Hydra 或 Burp Intruder 测试锁定与速率限制,并检查 CAPTCHA 等防护。
- 凭据填充:使用泄露凭据对进行测试,并采用慢速请求、轮换 IP、随机 User-Agent、添加延迟等规避手段。
- 会话管理测试:捕获会话 Cookie,分析熵、长度、可预测性与安全标志。
- 会话固定测试:比较登录前后会话是否变化。
- 会话超时测试:测试空闲超时、绝对超时与登出失效。
- 多因素认证测试:测试 OTP 暴力破解、绕过技术、API 版本降级及注册与恢复流程。
- 密码重置测试:分析令牌长度、随机性、过期、单次使用、账户绑定,以及令牌操纵与 Host 头注入。
技能还提供速查参考,包括常见漏洞类型与风险等级、凭据测试载荷、会话 Cookie 标志说明以及速率限制绕过请求头。
适用场景
适用于获得明确书面授权后,对目标 Web 应用进行身份认证与会话管理安全评估的场景,包括密码策略审查、暴力破解与凭据填充测试、会话令牌分析、会话固定与超时验证、MFA 实现评估以及密码重置流程测试。
限制
法律要求:仅在获得明确书面授权时测试;避免使用真实泄露凭据;不得访问真实用户账户;记录所有测试活动。
技术限制:CAPTCHA 可能阻止自动化测试;速率限制影响暴力破解时序;MFA 显著增加攻击难度;部分漏洞需要受害者交互。
范围考虑:测试账号行为可能与生产环境不同;测试环境中部分功能可能被禁用;第三方认证可能不在范围内;生产环境测试需格外谨慎。