今天分享的這篇Writeup是作者在參與漏洞眾測中,針對目標系統(tǒng)的動態(tài)口令OTP (One Time Password),通過利用簡單的暴力枚舉方法,實現(xiàn)了對目標系統(tǒng)雙因素驗證機制2FA (Two-Factor Authentication)的繞過或破解。目標系統(tǒng)是印度最大的旅行服務(wù)公司網(wǎng)站,其采用了動態(tài)口令OTP作為雙因素驗證2FA的實現(xiàn)手段。
通常來說,OTP是從0000到9999的4位數(shù)組合,假如OTP有一萬種可能性的組合,在如今強大的計算機時代,處理10000種組合也只需幾分鐘的時間。所以,如果OTP的驗證機制不當,任何人都可以通過簡單的暴力枚舉來繞過它。
為什么我可以繞過2FA?
目標系統(tǒng)對不成功的請求嘗試不作速率限制。
目標系統(tǒng)對不成功的請求嘗試沒有新的動態(tài)口令措施。
前提準備:
Web瀏覽器、BurpSuite。
繞過2FA的復現(xiàn)過程
繞過2FA的復現(xiàn)過程
1、開啟BurpSuite,使用手機號碼登錄目標系統(tǒng)網(wǎng)站,這里,故意輸錯系統(tǒng)發(fā)送到你手機中的動態(tài)OTP(這里我們隨便輸入1234),然后用BurpSuite捕獲流量;
從BurpSuite中我們可以看到OTP API的相關(guān)信息 – verifyOTP?otp=:
2、把這次OTP的發(fā)送過程右鍵 Send to intruder:
3、選擇otp=1234占位符,并把它設(shè)置為簡單暴力枚舉變量方式:
4、選擇Payload標簽項,把其修改為任意形式的組合,然后點擊attack:
5、攻擊開始。從枚舉響應結(jié)果中,我們可以看到一個長度為2250的異常響應,不出意外,就是它了:
6、 用該OTP配合登錄,可以成功有效!
相關(guān)教程推薦:web服務(wù)器安全