Hello there, ('ω')ノ
パスワードリセットポイズニングによるアカウント乗っ取りを。
脆弱性:
パスワードリセットの欠陥
アカウントの乗っ取り
記事:
https://vbharad.medium.com/account-takeover-through-password-reset-poisoning-72989a8bb8ea
ツール:
Burp Suite
Ngrokサーバ
脆弱性について:
今回は、redacted.comと仮定して。
パスワードを忘れたページでいくつかのバグを見つけることに。
何度も試みた後、完全なアカウントの乗っ取りにつながる脆弱性を発見できて。
再現する手順:
1.https://redacted.com/users/forgot_passwordにアクセスして。
2.usernameを入力して、パスワードを忘れた場合のリンクを取得して。
このリクエストをBurp Suiteでキャプチャして。
X-Forwarded-Host: bing.comを追加して。
3.次に、リクエストを転送してメールを確認すると。
下記のトークン付きのパスワードリセットのメールが届いて。
https://bing.com/users/reset_password/tqo4Xciu806oiR1FjX8RtIUc1DTcm1B5Kqb53j1fLEkzMW2GPgCpuEODDStpRaES
ここで、トークンがbing.comへリークしたので。
このトークンが正しいものかを確認したいので。
https://bing.comの代わりにhttps://redacted.comに置き換えてブラウザで開くと。
5.パスワードリセットリンクは有効であり、パスワードをリセットできて。
搾取:
この後、このバグを悪用する方法を実行することに。
搾取に関する手順は次のとおりで。
1.攻撃者のサーバをngrokを介してサーバを作成して。
2.次に攻撃者はhttps://redacted.com/users/forgot_passwordのページに移動して。
被害者のusernameを入力して、BurpSuiteでリクエストをキャプチャして。
3.キャプチャされたリクエストで。
攻撃者は「X-Forwarded-Host:ngrok.io」を追加して。
※ngrok.io=ngrokのサーバアドレス
4.その後、被害者はパスワードリセットURLを取得できて。
そのリセットリンクのドメインは。
ngrokサーバのアドレスまたはドメインになって。
(悪用の場合は、被害者とのやり取りまたはワンクリックのみが必要で)
5.被害者がそのリンクをクリックするときは。
いつでも攻撃者は自分のサーバで完全なトークンを取得できて。
6.攻撃者がパスワードリセットトークンを取得できる場合は。
攻撃者はngrokドメイン名をメインドメインに変更して。
アカウントを乗っ取るだけで。
Best regards, (^^ゞ