Appearance
如何检测与利用 Web 应用的身份验证漏洞(Broken Authentication)
针对 OWASP Top 10 中常客的“身份验证失效”问题,通过系统化的测试流程,识别并利用账户接管、会话劫持和多因素认证绕过等漏洞。
为什么需要这个技能
身份验证漏洞是 Web 应用最严重的安全缺陷之一。如果身份验证机制设计不当,攻击者可以通过暴力破解、会话预测或凭据填充轻松获取用户权限。这不仅会导致单个账户被接管,还可能导致敏感系统被非法访问,造成严重的身份盗用和数据泄露。
掌握该技能可以帮助安全研究员和开发者在生产环境前发现缺陷,确保会话令牌(Session Token)足够随机、密码策略足够强健且多因素认证(MFA)无法被绕过。
适用场景
- 进行专业的 Web 渗透测试或 Bug Bounty 挖掘时。
- 对企业内部系统的身份认证流程进行安全审计。
- 验证新开发的登录、注册、找回密码等功能是否符合安全基线。
- 分析 JWT 等现代令牌机制是否存在实现缺陷。
核心工作流
1. 身份验证机制分析
首先识别应用采用的认证类型(基于密码、JWT 令牌、OAuth 或证书)并映射所有关键端点(/login, /reset-password, /api/auth/*)。
2. 密码策略与凭据枚举
测试密码长度、复杂性要求,以及是否存在“用户名枚举”漏洞(例如通过登录失败时的错误提示差异来判断账号是否存在)。
3. 暴力破解与凭据填充
利用 Hydra 或 Burp Suite Intruder 测试账户锁定机制和速率限制。尝试使用已知的泄露数据集进行凭据填充(Credential Stuffing)。
4. 会话管理测试
- 熵值分析:分析
SESSIONID是否可预测。 - 会话固定:检查登录前后 Session ID 是否发生变化。
- 超时验证:测试空闲超时和绝对超时是否生效,以及登出后令牌是否在服务端失效。
5. MFA 与找回密码测试
尝试绕过 MFA 步骤(如直接访问受保护 URL 或修改响应包),并分析找回密码令牌的随机性及其是否允许重复使用。
bash
# 使用 Hydra 进行表单暴力破解示例
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
target.com http-post-form \
"/login:username=^USER^&password=^PASS^:Invalid credentials"python
# 简易会话令牌熵值分析脚本
import requests
tokens = []
for i in range(100):
response = requests.get("https://target.com/login")
token = response.cookies.get("SESSIONID")
tokens.append(token)
# 随后分析 tokens 序列是否存在规律性或时间戳特征下载和安装
下载 broken-authentication 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐