翻譯文章,原文:OTP Bypass on India’s Biggest Video Sharing Site.[1]
通過我們的組織,我們已經在一些私人項目上工作了幾個月。因此,我決定稍事休息,並在公共平臺上尋找bug來提高我的技能。
後來,我找到了一個社交媒體網站,該網站允許用戶共享類似於TikTok的視頻,它擁有超過5000萬活躍用戶,因此我決定不向公眾公開。
深入探討
我通過收集有關目標網站的一些信息來發起攻擊,把該網站命名為example.com, 我註冊一個賬戶為了找控制面板,但我沒有找到,所以在這就停止了,我還是喜歡尋找XSS。
等一下, 讓我們嘗試一下登錄頁面。
登錄頁面上有使用電話號碼登錄的方法,這使我可以輸入手機號碼並輸入收到的4位數OTP。我決定使用BurpSuite的intruder來暴力破解OTP。
我重複請求,10次之後就被阻止了。
我決定不放棄OTP繞過,讓我再試一次,我去創建帳戶,再次嘗試暴力枚舉OTP,但仍然失敗。
因此,我用新的手機號碼創建一個用戶,並輸入了我收到的正確的OTP。通過使用Do Intercept響應,我開始分析響應,令我驚訝的是,響應非常簡單,如下所示。
<code>{“data
”:{“det”:{},”blocks”:[]},”gsc”:”700
"}
/<code>
坦率地說,我不知道這是什麼意思。但是我發現如果用戶輸入有效的OTP,此代碼段將用於獲取用戶詳細信息。
現在,我決定使用無效的OTP分析響應。
<code>{“gsc”:”615",”message”:”Invalid verification code”}
/<code>
現在,我發現這是用於驗證OTP的唯一代碼段。為了使這項工作,我需要證明這確實有效。因此,我決定使用朋友的手機號進行註冊,並輸入了錯誤的OTP,我所做的就是刪除無效的驗證代碼段,並通過截取響應將其替換為有效的代碼段。(注:把無效的返回結果替換為有效的結果)
即使沒有有效的OTP,我也可以使用朋友的手機號碼創建帳戶,這清楚地表明,我無需驗證OTP就可以使用任何手機號碼創建帳戶。
總結
研究人員總是破解OTP字段,但他們忘記分析發送到瀏覽器的響應。
備註
這篇文章很簡單,這種情況的網站在賞金平臺其實真不多見,說白了就是沒有在服務器端二次確認OTP和對應的手機號碼而造成的。
References
[1] OTP Bypass on India’s Biggest Video Sharing Site.: https://medium.com/@sriram_offcl/otp-bypass-on-indias-biggest-video-sharing-site-e94587c1aa89