多因素认证中的漏洞

  • 2FA 比单密码更安全,因为攻击者很难同时拿到 "你知道的(密码)" 和 "你拥有的(设备 / 验证码)"。

  • 不是多步骤就是多因素:比如邮箱验证码 + 密码,本质还是两次 "知识验证",不算真正 2FA。

  • 2FA 实现有优劣:

    • 安全:专用硬件令牌、Google Authenticator 等本地生成验证码。
    • 不安全:短信验证码,易被拦截、SIM 卡替换攻击。
  • 2FA 可被绕过:很多网站只校验第一步密码,第二步没做强制验证,可直接跳过后台页面。

    不严格的二重检测

    如果先被提示输入密码,然后又被要求在另一个页面输入验证码,用户在输入验证码之前实际上就处于"已登录"状态。在这种情况下,值得测试一下,看看完成第一步认证后是否能直接跳到"仅登录"页面。偶尔,你会发现网站在加载页面前并不会检查你是否完成了第二步。
    实验室:2FA简单绕过 |网络安全学院

    • 您的资历:wiener:peter
    • 受害者资历 carlos:montoya
      我们先登录自己的账号

    成功进入后我们记住 url

    然后使用受害人的账号密码登录, 登录的时候抓包, 丢弃 post 上传以外的所有包, 这些包里面就有打开二重验证的网页请求, 我们直接丢掉就可以绕过成功

    然后此时我们将 url 填入地址栏里面就发现绕过了

    复制代码
    https://0a8600fe03b542eb84fc4bb7000a000c.web-security-academy.net/my-account?id=carlos
暴力破解的2FA验证码
  • 正常流程
    • 输密码 → 服务器验证通过
    • 给浏览器设置一个 Cookie:account=用户名
    • 第二步验证时,服务器只看这个 Cookie来判断你是谁。
  • 攻击逻辑
    • 攻击者用自己账号正常登录第一步
    • 拿到自己的 Cookie 后,直接把 Cookie 里的用户名改成受害者
    • 去提交第二步验证码
    • 服务器看到 Cookie 里是受害者账号,就以为是受害者本人在验证
  • 后果
    • 攻击者不需要知道受害者密码
    • 只要暴力破解出验证码
    • 就能直接登录别人账号
      实验室:2FA破碎逻辑 |网络安全学院
      我们先用自己的账号密码登录, 然后随便输入一个验证码后抓包, 然后修改用户名进行爆破

      四位验证码都是数字, 所以我们

      最后爆破得到结果

      时间可能有点长, 稍微等一下
      然后用这个邮箱验证码去再次抓包并修改 cookie 和验证码, 就可以成功拿下
暴力破解的2FA验证码

与密码一样,网站也需要采取措施防止暴力破解2FA验证码。这尤其重要,因为代码通常是简单的4位或6位数字。如果没有足够的暴力破解保护,破解这种代码是轻而易举的。

一些网站试图防止这种情况,如果用户输入了一定数量的错误验证码,会自动登出。但这在实际中效果不佳,因为高级攻击者甚至可以通过为Burp Intruder创建宏来自动化这一多步流程。涡轮入侵者延长器也可以用于此目的。

实验:使用暴力破解攻击的2FA绕过 |网络安全学院



测试宏, 发现都正常

然后把设置全部 ok

然后暴力破解验证码就好了

最后进入我的账户就发现注入成功了!

总结

第一次跑到后发现Invalid CSRF token

一、为什么会报「令牌过期 / Invalid CSRF token」?

这个 2FA 实验的机制是:

  1. 每次爆破前,宏会帮你自动重新登录
  2. 但登录后拿到的 CSRF 令牌、Session 只有很短有效期 (大概 15~30 分钟)
  3. 你暴力破解 4 位验证码 0000~9999 要跑 3~5 小时
  4. 跑着跑着,旧令牌就超时失效了 → 直接报错

所以我们需要分段跑, 让一次跑个半个小时, 不成功的话就切换另外一次, 保证每次都是令牌时效期内就不会过期

相关推荐
裕晟资质规划15 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
轻舟技术A15 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
Escalating_xu16 小时前
【Linux 网络编程】TCP Socket 编程(上):从 listen、accept 到完整回显通信
linux·网络·tcp/ip
NetX行者16 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python
Yang961116 小时前
从相位噪声到实时带宽:HD-063B支撑的频谱实验项目
网络
happyprince16 小时前
01-整体观-DeepSeek-V4.1-Flash全貌解读
网络
是真的小外套16 小时前
2023年软考中级信息安全工程师|选择题考点+5道案例分析真题解析(含答案)
java·服务器·网络
醒醒11117 小时前
从微信小程序到全端:一个安全扫描器的演进之路(v0.5.0 → v0.6.0)
前端·安全
萧瑟余晖17 小时前
Spring Security综合实战与安全加固详解
java·安全·spring
广东帝工17 小时前
如何保障智慧航道的安全
安全