通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA | CN-SEC 中文网
本文介绍了一个双因素身份验证绕过漏洞。在身份验证过程中,应用程序允许用户在电子邮件OTP和TOTP之间切换,且无需验证当前配置的第二因 2026-7-5 03:16:47 Author: cn-sec.com(查看原文) 阅读量:28 收藏

本文介绍了一个双因素身份验证绕过漏洞。在身份验证过程中,应用程序允许用户在电子邮件OTP和TOTP之间切换,且无需验证当前配置的第二因素。攻击者若已知受害者的电子邮件和密码,可通过切换方法并扫描新二维码生成有效TOTP直接登录,完全绕过原有2FA。该漏洞严重破坏了双因素认证的安全性。

免责声明本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途。

 在测试一个私有漏洞赏金计划时,我遇到了一个 

作者: Mahmoud Magdy原文链接: https://medium.com/@mahmoudmagdy45456/2fa-bypass-via-switching-between-email-otp-and-totp-during-authentication-1e6bfaddbadb

黑客们大家好👋

再次出现另一个有趣的身份验证缺陷,该缺陷导致完全双因素身份验证绕过。

该漏洞的存在是因为应用程序允许用户在身份验证质询期间更改其 2FA 方法,而无需验证当前配置的第二个因素。

因此,任何已经知道受害者电子邮件和密码的人都可以替换受害者的第二个因素并登录,而无需证明拥有原始电子邮件和密码。

🔍 场景

该应用程序默认为每个帐户启用 2FA。

用户可以配置两种身份验证方法之一:

  • 电子邮件一次性密码
  • 微软/谷歌身份验证器 (TOTP)

输入有效凭据后,用户被重定向到:

/customer/verify-otp/

他们预计将完成配置的第二个因素。

乍一看,一切看起来都很安全。

但在测试身份验证流程时,我注意到一些不寻常的事情......

该应用程序允许直接从验证页面在电子邮件 OTP 和身份验证器 (TOTP) 之间切换。

没有确认。没有验证现有的第二个因素。

这立即提出了一个问题:

如果我在证明当前身份验证方法的所有权之前更改身份验证方法,会发生什么情况?

🧪 场景 1:受害者使用电子邮件 OTP

假设攻击者已经知道受害者的电子邮件地址和密码。

登录后,应用程序请求电子邮件 OTP。

攻击者显然无法访问受害者的收件箱。

攻击者无需输入 OTP,只需单击:

Press enter or click to view image in full size

通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

无法验证?尝试使用 Microsoft/Google 身份验证器

应用程序立即生成一个全新的二维码。

通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

攻击者使用身份验证器应用程序对其进行扫描。

生成第一个 TOTP。

提交。

并且……登录成功。

电子邮件 OTP 从未经过验证。

🧪 场景 2:受害者使用 TOTP

第二个场景同样有趣。

如果受害者已经配置了 Microsoft/Google Authenticator,登录页面最初会请求 TOTP 代码。

如果不提供,攻击者会将身份验证方法切换为电子邮件 OTP。

Press enter or click to view image in full size

通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

然后再次开始登录过程。

一旦 OTP 页面出现,攻击者就会切换回 TOTP。

Press enter or click to view image in full size

通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

该应用程序生成另一个新的二维码。

通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

攻击者对其进行扫描。

生成有效的 TOTP。

成功完成身份验证。

再次…

不需要验证受害者的原始身份验证器。

⚠️ 出了什么问题?

该应用程序允许在持续的身份验证质询期间更改活动的 2FA 方法,而无需首先验证用户当前配置的第二因素。

因此,已经拥有有效凭据的攻击者可以用其控制下的新 TOTP 设备替换受害者现有的身份验证方法。由于应用程序立即接受了新注册的身份验证器,因此攻击者无需证明拥有受害者的原始电子邮件 OTP 或 TOTP 即可完成登录过程。

换句话说,身份验证流程允许在验证现有因素之前修改第二个因素,从而有效地破坏了双因素身份验证提供的安全保证。

🧪 漏洞利用步骤

  1. 使用有效凭据登录。
  2. 到达 OTP 验证页面。
  3. 将身份验证方法切换为 TOTP。
  4. 扫描新生成的二维码。
  5. 生成有效的 TOTP。
  6. 提交代码。
  7. 登录成功,无需验证受害者原来的第二因素。

🔐影响

拥有有效凭据的攻击者可以:

  • 完全绕过电子邮件 OTP。
  • 替换受害者配置的 TOTP。
  • 注册自己的验证器。
  • 成功完成登录。
  • 完全接管受害者的账户。

这完全破坏了双因素身份验证提供的保护。

觉得本文内容对您有启发或帮助?点个关注➕,获取更多深度分析与前沿资讯!
👉

原文始发于微信公众号(漏洞集萃):通过在身份验证期间在电子邮件 OTP 和 TOTP 之间切换来绕过 2FA

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。

点赞

http://cn-sec.com/archives/5319543.html 复制链接 复制链接


文章来源: https://cn-sec.com/archives/5319543.html
如有侵权请联系:admin#unsafe.sh