免责声明
该公众号发布的安全工具和项目源于网络资源,主要推荐给安全研究者和学习者作为研究、学习用途。如果用户将这些工具和信息应用于其他目的,由此产生的所有法律责任及连带责任均由使用者自行承担,工具的原作者和该公众号不承担任何相关责任。
双因素身份验证
双因素身份验证(Two-Factor Authentication, 2FA)是一种强化的安全机制,旨在提高用户账户和数据的安全性,防止未经授权的访问。它要求用户提供两种不同类型的凭据(或称为“因素”)来验证其身份,而不是仅仅依赖单一的密码。这种双重验证方式显著增加了攻击者成功入侵账户的难度,因为即使他们掌握了用户的某个凭据(如密码),如果没有第二个凭据,也无法完成身份验证过程。
工作流程
绕过双因素身份验证各种思路总结
5).如果后端只在会话中设置一个布尔值,表示您已成功通过2FA,则您将能够绕过受害者的2FA.
2.可以尝试使用自己的凭据登录,但在进行2FA时,把“帐户”cookie的值更改为其他用户名。Cookie: account=victim-user
3. false响应状态改为true.
HTTP/2 400 Bad Request修改为HTTP/2 200 OK
5.直接访问经过身份验证才能访问的页面;不能访问,尝试修改来源(Referrer)为进行2FA时的url. Referer: XXX
6.2FA的验证码泄露,在所有响应包中搜索,看是否有2FA验证码。
7.查看响应包中引用的js文件,在js文件中查找可以绕过验证的代码。
8.对验证码进行暴力破解,看速率有没有限制;若有限制,点击“重新发送代码”看验证码是不是相同的并且速率是否会重置,是的会也可以进行暴力破解;很多情况下登录有速率限制,但是重要的操作没有进行速率限制。”重新发送代码“没有进行速率限制,造成可以无限发送短信。
在web应用程序中,密码重置功能在重置过程完成后一般会自动将用户登录到应用程序。
10.使用有效的验证码进行任意用户验证。
11.如果验证码足够的简单,可以一边不断重复使用同一个验证码进行验证,一边点击发送代码,让系统不断生成新的验证码,当系统生成的验证码和正在使用的验证码匹配,就可以登录成功。
12.如果2FA使用的是位于/v*/目录下的API(如“/v3/”),这可能意味着存在较旧的API端点,这些端点可能容易受到某种类型的2FA绕过。
13.发送空白验证码,看是否成功绕过2FA.
原文始发于微信公众号(白帽子之路):漏洞探索/挖掘--绕过双因素身份验证
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论