利用簡單暴力枚舉繞過目標系統2FA驗證機制

  • 2019 年 12 月 12 日
  • 筆記

今天分享的這篇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捕獲流量;

從BurpSuite中我們可以看到OTP API的相關資訊 - verifyOTP?otp=:

2、把這次OTP的發送過程右鍵 Send to intruder:

3、選擇otp=1234佔位符,並把它設置為簡單暴力枚舉變數方式:

4、選擇Payload標籤項,把其修改為任意形式的組合,然後點擊attack:

5、攻擊開始。從枚舉響應結果中,我們可以看到一個長度為2250的異常響應,不出意外,就是它了:

6、 用該OTP配合登錄,可以成功有效!

*參考來源:medium,clouds 編譯整理,轉載請註明來自 FreeBuf.COM

Tags: