《身份认证漏洞排查实战指南》
第3章 认证漏洞分类
3、认证漏洞分类
在身份认证体系中,攻击者通常利用系统设计缺陷、协议弱点或用户行为习惯来绕过认证机制。以下是对七大类核心认证漏洞的深度剖析与实战排查指南。
3.1 暴力破解 (Brute Force)
漏洞描述:攻击者通过自动化工具,穷举所有可能的密码组合,直到找到正确的凭证。常见于弱口令、无锁定机制的系统。
排查要点
- 检查登录接口是否存在频率限制
- 验证是否实施账户锁定策略(如5次失败后锁定15分钟)
- 审计日志中是否存在大量401/403错误
- 测试常见弱口令字典(如admin/123456)
实战代码片段
# 使用Hydra进行暴力破解测试(仅授权环境) hydra -l admin -P /usr/share/wordlists/rockyou.txt \ ssh://192.168.1.100 -t 4 -V
3.2 凭证填充 (Credential Stuffing)
漏洞描述:利用用户在多个平台复用相同密码的习惯,将从其他泄露数据库获得的用户名/密码组合,批量尝试登录目标系统。
3.3 会话劫持 (Session Hijacking)
漏洞描述:攻击者通过窃取或预测有效的会话令牌(Session Token/Cookie),冒充合法用户身份访问系统。
常见攻击方式
- XSS窃取Cookie
- 网络嗅探(未加密传输)
- 会话固定攻击
- 预测弱随机化Session ID
防御措施
- 设置HttpOnly & Secure标志
- 使用HTTPS传输
- 定期轮换Session ID
- 绑定IP/User-Agent
3.4 中间人攻击 (MITM)
漏洞描述:攻击者拦截并篡改通信双方的数据流,在用户不知情的情况下窃取凭证或注入恶意数据。
# 使用Bettercap进行MITM测试(仅授权环境) sudo bettercap -eval "set arp.spoof.targets 192.168.1.100; arp.spoof on; net.sniff on"
3.5 重放攻击 (Replay Attack)
漏洞描述:攻击者截获有效的认证请求数据包(如登录POST请求),在不破解密码的情况下,重新发送该数据包以通过认证。
检测方法
- 使用Burp Suite Repeater重放请求
- 检查服务器是否验证时间戳/Nonce
- 测试同一请求能否多次成功
防御方案
- 引入一次性Nonce值
- 时间戳 + 窗口验证
- 使用数字签名
- 实施OTP(一次性密码)
3.6 权限提升 (Privilege Escalation)
漏洞描述:攻击者利用认证后的授权缺陷,从低权限账户(如普通用户)提升为高权限账户(如管理员),访问未授权资源。
3.7 逻辑缺陷 (Logic Flaw)
漏洞描述:利用认证流程中的业务逻辑漏洞,例如:密码重置流程绕过、多步骤认证跳过、条件竞争等。
典型场景
- 密码重置链接可预测
- 修改响应状态码绕过验证
- 多因素认证中跳过某一步
- 负值金额/数量逻辑
排查技巧
- 分析前端JS逻辑
- 篡改请求参数/顺序
- 测试并发条件竞争
- 检查服务端校验完整性
专注课程资料整理