# 2FA/MFA/OTP 绕过 {{#include ../banners/hacktricks-training.md}} ## **增强的双因素认证绕过技术** ### **直接端点访问** 要绕过 2FA,直接访问后续端点,了解路径至关重要。如果不成功,修改 **Referrer header** 以模拟从 2FA 验证页面的导航。 ### **令牌重用** 在账户内重用先前使用的令牌进行身份验证可能有效。 ### **利用未使用的令牌** 从自己的账户提取令牌以绕过另一个账户的 2FA 可以尝试。 ### **令牌暴露** 调查令牌是否在 web 应用程序的响应中被披露。 ### **验证链接利用** 使用 **账户创建时发送的电子邮件验证链接** 可以在没有 2FA 的情况下访问个人资料,如详细 [帖子](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) 中所述。 ### **会话操控** 为用户和受害者的账户启动会话,并在不继续的情况下完成用户账户的 2FA,允许尝试访问受害者账户流程中的下一步,利用后端会话管理的限制。 ### **密码重置机制** 调查密码重置功能,该功能在重置后将用户登录到应用程序,检查其是否允许使用相同链接进行多次重置。使用新重置的凭据登录可能绕过 2FA。 ### **OAuth 平台妥协** 妥协用户在受信任的 **OAuth** 平台(例如 Google、Facebook)上的账户可以提供绕过 2FA 的途径。 ### **暴力攻击** #### **缺乏速率限制** 缺乏对代码尝试次数的限制允许进行暴力攻击,尽管应考虑潜在的静默速率限制。 请注意,即使存在速率限制,您也应该尝试查看在发送有效 OTP 时响应是否不同。在 [**这篇帖子**](https://mokhansec.medium.com/the-2-200-ato-most-bug-hunters-overlooked-by-closing-intruder-too-soon-505f21d56732) 中,漏洞猎人发现即使在 20 次不成功尝试后触发速率限制,响应为 401,但如果发送了有效的 OTP,则收到 200 响应。 #### **慢速暴力攻击** 在存在流速限制而没有整体速率限制的情况下,慢速暴力攻击是可行的。 #### **代码重发限制重置** 重发代码会重置速率限制,便于继续进行暴力尝试。 #### **客户端速率限制规避** 一份文档详细说明了绕过客户端速率限制的技术。 #### **内部操作缺乏速率限制** 速率限制可能保护登录尝试,但不保护内部账户操作。 #### **短信代码重发费用** 通过 SMS 过度重发代码会给公司带来费用,但并不绕过 2FA。 #### **无限 OTP 生成** 使用简单代码进行无限 OTP 生成允许通过重试一小组代码进行暴力攻击。 ### **竞争条件利用** 利用竞争条件进行 2FA 绕过的技术可以在特定文档中找到。 ### **CSRF/点击劫持漏洞** 探索 CSRF 或点击劫持漏洞以禁用 2FA 是一种可行的策略。 ### **“记住我”功能利用** #### **可预测的 Cookie 值** 猜测“记住我” cookie 值可以绕过限制。 #### **IP 地址冒充** 通过 **X-Forwarded-For** header 冒充受害者的 IP 地址可以绕过限制。 ### **利用旧版本** #### **子域名** 测试子域名可能使用缺乏 2FA 支持的过时版本或包含脆弱的 2FA 实现。 #### **API 端点** 旧的 API 版本,通过 /v\*/ 目录路径指示,可能容易受到 2FA 绕过方法的攻击。 ### **处理先前会话** 在 2FA 激活时终止现有会话可以保护账户免受被妥协会话的未授权访问。 ### **备份代码的访问控制缺陷** 在 2FA 激活时立即生成和潜在未授权检索备份代码,特别是在 CORS 错误配置/XSS 漏洞的情况下,构成风险。 ### **2FA 页面信息泄露** 在 2FA 验证页面上敏感信息泄露(例如,电话号码)是一个问题。 ### **密码重置禁用 2FA** 一个展示潜在绕过方法的过程涉及账户创建、2FA 激活、密码重置和随后在没有 2FA 要求的情况下登录。 ### **诱饵请求** 利用诱饵请求来模糊暴力攻击或误导速率限制机制为绕过策略增加了另一层。制作此类请求需要对应用程序的安全措施和速率限制行为有细致的理解。 ### OTP 构造错误 如果 OTP 是基于用户已经拥有的数据或发送之前创建 OTP 的数据生成的,用户也可能生成它并绕过它。 ## 参考文献 - [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md) - [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718) - [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116_1d0f6ce59992222b0812b7cab19a4bce) P {{#include ../banners/hacktricks-training.md}}