文章总结: 本文披露了一种通过密码重置功能绕过双因素认证(2FA)的安全漏洞。测试发现当账户启用2FA后,攻击者可通过忘记密码功能重置密码,系统在处理重置请求后未验证2FA状态直接下发登录会话,导致身份验证被绕过。该漏洞存在于身份验证逻辑缺陷中,建议开发者在密码重置流程后强制进行完整的身份验证。 综合评分: 78 文章分类: 漏洞分析,WEB安全,渗透测试,应用安全,安全开发
通过重置密码绕过 2FA 强制校验
原创
Pwn1 Pwn1
漏洞集萃
2026年4月28日 15:13 山东
在小说阅读器读本章
去阅读
免责声明 本公众号所发布的文章内容仅供学习与交流使用,禁止用于任何非法用途。
在测试一个私有漏洞赏金计划时,我遇到了一个
漏洞场景
这种问题通常出现在那些对安全性要求比较高、支持 2FA 开启的 Web 应用里。涉及的具体业务模块就是“找回密码”和“密码重置”这两个地方。
原本功能流程
按道理来讲,一个正常的 2FA 流程应该是这样的:首先输入账号密码,系统验证通过后,发现这个号开了 2FA,接着就会弹出一个界面要求输入验证器 App 里的 6 位数字或者手机短信码。只有这两个都对上了,系统才会发放代表登录成功的 Session 或者 Token。
漏洞发现
在测试一个私有项目时,先在 http://domain.com 正常注册一个测试账号,接着去安全设置里把基于验证器 App 的 2FA 功能给勾选上。
这时候退出登录,尝试走正常的登录口,系统确实会拦截并要求输入 2FA 验证码。
接下来:不去死磕这个登录框,而是转头走向 forgot password 页面。输入邮箱拿到重置链接后,在重置密码的页面填入新密码,最后点击 Save changes 提交。
在提交修改密码的请求后,观察浏览器的跳转情况和数据包。
按道理来讲,改完密码后系统要么跳转回登录页面让重新登录,要么在登录前再次要求验证 2FA。但是,这个系统在处理完密码修改请求后,直接就下发了登录后的 Set-Cookie。它就根本没有去判断这个账号是否处于 2FA 开启状态,直接把改密码的行为当成了身份的终极确认,从而绕过了所有的二次验证机制。
来源:
https://roohaan.medium.com/tricky-2fa-bypass-leads-to-4-digit-bounty-3a148bc7d4a
觉得本文内容对您有启发或帮助? 点个关注➕,获取更多深度分析与前沿资讯!
👉 往期精选
一种利用 HTTP 重定向循环的新型 SSRF 技术
预接管账号:结合 OTP 校验分离与空格绕过注册内部管理员邮箱
从隐藏接口的 JWT 绕过到 AWS S3 任意文件覆盖
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:漏洞集萃 Pwn1 Pwn1《通过重置密码绕过 2FA 强制校验》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论