2FA绕过漏洞分析报告
漏洞概述
该漏洞存在于SingleStore的身份验证服务中,攻击者仅需知道受害者的邮箱地址和密码即可完全绕过双因素认证(2FA)机制,直接登录受害者账户。
攻击步骤
第一步:初始登录
在https://portal.singlestore.com/输入受害者的邮箱地址和密码,点击登录。
第二步:拦截请求
- 进行虚假的2FA代码尝试
- 使用Burp Suite拦截请求但不发送
- 保持拦截状态
第三步:暴力破解
- 将捕获的请求发送到Intruder工具
- 选择mfaToken参数旁边的代码
- 设置Payload类型为Number
- 设置合理的数值范围(如155900-1556300)
- 启动攻击
第四步:识别成功响应
- 观察HTTP状态码从303变为302
- 由于2FA机制实现缺陷,第3次错误尝试后会返回303状态码
- 但通过Burp继续尝试,正确的2FA代码会返回302状态码
- 首次出现302响应时即表示找到正确代码
技术细节
漏洞原理
- 2FA机制缺乏速率限制
- 无有效的WAF防护
- 认证流程存在逻辑缺陷
- 即使在前端显示登录失败,后端仍可继续接受认证尝试
验证过程
攻击者进行了10,000次请求测试,在166,236次响应中成功找到第一个302响应,确认了正确2FA代码。
影响评估
- CVSS评分:中等(4-6.9)
- 攻击者可完全绕过2FA保护
- 需要已知受害者的邮箱和密码
- 影响基于邮箱和认证应用的2FA机制
修复状态
漏洞已被SingleStore修复,在第三次失败登录尝试后,服务器不再接受有效请求,显示"could not load auth request by id"错误信息。