2FA/MFA/OTP Bypass
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
增强型 Two-Factor Authentication 绕过 技术
Direct Endpoint Access
要绕过 2FA,可直接访问后续的端点,关键是要知道该路径。如果不成功,可修改 Referrer header 来模拟从 2FA 验证页面的跳转。
Token Reuse
在同一账户中重用之前使用过的 tokens 可能奏效。
Utilization of Unused Tokens
尝试从自己的账户中提取一个 token,用于绕过另一个账户的 2FA。
Exposure of Token
检查 web 应用的响应中是否泄露了 token。
Verification Link Exploitation
使用在创建账户时发送的 email verification link 可以在不触发 2FA 的情况下访问配置文件,详见一篇post。
Session Manipulation
为用户和受害者分别初始化会话,并在只为用户完成 2FA 且不继续的情况下,尝试访问受害者账号流程的下一步,从而利用后端的会话管理缺陷。
Password Reset Mechanism
研究 password reset 功能(有时重置后会将用户登录到应用),并检查是否可以多次使用同一链接。用新重置的凭证登录可能会绕过 2FA。
OAuth Platform Compromise
攻破用户在受信任的 OAuth 平台(例如 Google、Facebook)上的账户,可能是绕过 2FA 的途径。
Brute Force Attacks
Rate Limit Absence
如果不存在尝试次数限制,就可以进行暴力破解,但也要注意可能存在的静默速率限制。
注意即便存在速率限制,也应尝试观察在发送正确 OTP 时响应是否不同。在this post中,漏洞猎人发现即便在 20 次失败尝试后触发速率限制并返回 401,如果发送了正确的 OTP 则会收到 200 响应。
Slow Brute Force
在存在流程速率限制但没有全局限制的情况下,采用慢速暴力破解是可行的。
Code Resend Limit Reset
重发 code 会重置速率限制,从而继续暴力破解尝试。
Client-Side Rate Limit Circumvention
有文档详细说明了绕过客户端速率限制的技术。
Internal Actions Lack Rate Limit
速率限制可能仅保护登录尝试,而不保护内部账户操作。
SMS Code Resend Costs
反复通过 SMS 重发 code 会给公司造成费用,但这并不等同于绕过 2FA。
Infinite OTP Regeneration
允许无限生成且简单的 OTP,会通过重试一小组代码实现暴力破解。
Race Condition Exploitation
利用 race condition 绕过 2FA 的方法可在特定文档中找到。
CSRF/Clickjacking Vulnerabilities
探索 CSRF 或 Clickjacking 漏洞以禁用 2FA 是一种可行策略。
“Remember Me” Feature Exploits
Predictable Cookie Values
猜测 “remember me” cookie 的值可以绕过限制。
IP Address Impersonation
通过 X-Forwarded-For 头冒充受害者的 IP 地址可以绕过限制。
Utilizing Older Versions
Subdomains
测试子域名,可能使用过时版本而不支持 2FA,或包含有漏洞的 2FA 实现。
API Endpoints
以 /v*/ 目录路径表示的旧版 API 可能易受 2FA 绕过方法的影响。
Handling of Previous Sessions
在启用 2FA 时终止已有会话,可以防止被已被攻陷的会话访问账户。
Access Control Flaws with Backup Codes
在启用 2FA 时立即生成并可能被未授权获取的 backup codes(特别是在存在 CORS 配置错误或 XSS 漏洞时)构成风险。
Information Disclosure on 2FA Page
在 2FA 验证页面泄露敏感信息(例如电话号码)是一项风险。
Password Reset Disabling 2FA
一种可能的绕过流程示例包括:创建账户、启用 2FA、重置密码,然后使用重置后的凭证登录而无需 2FA。
Decoy Requests
使用 decoy requests 来掩盖暴力破解尝试或误导速率限制机制是另一种策略。构造此类请求需要对应用的安全措施和速率限制行为有深入理解。
OTP Construction errors
当 OTP 基于用户已知数据或用于生成 OTP 的先前发送内容构造时,用户也可能自行生成该 OTP 并绕过它。
References
- https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35
- https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718
- https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116_1d0f6ce59992222b0812b7cab19a4bce
P
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
HackTricks

