16

挖洞经验 | 利用简单暴力枚举绕过目标系统2FA验证机制

 4 years ago
source link: https://www.freebuf.com/vuls/219813.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

今天分享的这篇Writeup是作者在参与漏洞众测中,针对目标系统的动态口令OTP (One Time Password),通过利用简单的暴力枚举方法,实现了对目标系统双因素验证机制2FA (Two-Factor Authentication)的绕过或破解。目标系统是印度最大的旅行服务公司网站,其采用了动态口令OTP作为双因素验证2FA的实现手段。

通常来说,OTP是从0000到9999的4位数组合,假如OTP有一万种可能性的组合,在如今强大的计算机时代,处理10000种组合也只需几分钟的时间。所以,如果OTP的验证机制不当,任何人都可以通过简单的暴力枚举来绕过它。

为什么我可以绕过2FA?

目标系统对不成功的请求尝试不作速率限制

目标系统对不成功的请求尝试没有新的动态口令措施

前提准备:

Web浏览器、BurpSuite。

绕过2FA的复现过程

绕过2FA的复现过程

1、开启BurpSuite,使用手机号码登录目标系统网站,这里,故意输错系统发送到你手机中的动态OTP(这里我们随便输入1234),然后用BurpSuite捕获流量;

YzyaaqF.jpg!web

从BurpSuite中我们可以看到OTP API的相关信息 – verifyOTP?otp=:

jMBBNfe.jpg!web

2、把这次OTP的发送过程右键 Send to intruder:

QzEJvaN.jpg!webVFRnmuN.jpg!web

3、选择otp=1234占位符,并把它设置为简单暴力枚举变量方式:

VfARB3E.jpg!web

4、选择Payload标签项,把其修改为任意形式的组合,然后点击attack:

jaYnyeN.jpg!web

5、攻击开始。从枚举响应结果中,我们可以看到一个长度为2250的异常响应,不出意外,就是它了:

7Vj2QbB.jpg!web

6、 用该OTP配合登录,可以成功有效!

Uzyqemf.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK