在编辑用户详细信息(包括姓名、电子邮件或电话号码)时,付款应用程序需要通过您的电话号码和电子邮件进行 2FA 验证。我发现了一个简单的绕过实施的 2FA 流程的方法,攻击者可以通过该方法编辑用户详细信息,而无需手机/电子邮件访问权限,最终导致帐户被接管。
1.转到编辑部分,开始编辑电子邮件字段。
2.2FA 提示将要求您提供当前电子邮件的 OTP。
3.输入错误的一次性密码“123456”。拦截响应。
4.将响应从 {"success":"false"} 更改为 {"success":"true"} 。
5.2FA 提示将再次要求您提供当前电话号码的 OTP。
6.输入错误的一次性密码“123456”。拦截响应。
7.将响应从 {"success":"false"} 更改为 {"success":"true"} 。
8.提示会要求您输入要更改的电子邮件,在此输入攻击者电子邮件。
9.输入电子邮件收件箱中的 OTP。
10.刷新仪表板,电子邮件已更改。
通常,在 2FA 验证(第一个 HTTP 请求)之后,会分配一个令牌,并且该令牌将用于电子邮件更改请求(第二个 HTTP 请求)。在这里,输入 OTP 时(在第一个 HTTP 响应中)没有发送此类令牌。这是多阶段操作时检查的常见情况。
2023 年 5 月 10 日 - 通过 Hackerone 报道
2023 年 5 月 11 日 - 状态更改为“已分类”
2023 年 6 月 7 日 - 重新测试完成 50 美元并解决
2023 年 6 月 10 日 - 5000 美元奖励 + 500 美元奖金
文章来源:HACK学习呀
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干