Shikata Ga Nai

Private? There is no such things.

Misconfiguration in Change-password Functionality Leads to Account Takeoverを訳してみた

Hello there, ('ω')ノ

 

パスワード変更機能の設定ミスはアカウントの乗っ取りにつながるを。

 

脆弱性:

 IDOR 

 ロジックの欠陥 

 パスワードのリセットの欠陥 

 アカウントの乗っ取り

 

記事:

 https://0x2m.medium.com/misconfiguration-in-change-password-functionality-leads-to-account-takeover-1314b5507abf

 

今回は、パスワード変更機能の設定ミスを使用して。

サイト上のアカウントを引き継ぐ方法について説明を。

プライベートプログラムをテストしていたので、site.comと呼ぶことに。

 

ポーラス(sandbox.site.com)をテストするためのサンドボックス環境を。

スローしているときに、パスワードの変更機能に気づいたので。

Burp Suiteを開いてリクエストをインターセプトし。

このリクエストをキャッチして分析を開始すると。

リクエスト本文のパラメータ(currentPassword)と。

同じ値を持つこのヘッダ(X_auth_credentials)が見つかって。

 

f:id:ThisIsOne:20220318211442p:plain

 

現在のパスワードを変更する場合は、最初に現在のパスワードを入力してから。

新しいパスワードを入力する必要があって。

それでいくつかの調査をし始めることに。

 

    このヘッダーはどうか。

    サーバはそれを検証するか。

    削除するとどうなるか。

    誰かの電子メールで電子メールを変更した場合、パスワードは変更されるか。

 

まず、リクエストの操作を開始し、ヘッダ(X_auth_credentials)と。

パラメーター(currentPassword)の両方を削除して。

サーバにリクエストを送信して応答を確認すると。

エラーなしで200OKの応答が得られたので。

サーバは、このヘッダを検証せず。

 

これで、リクエストにヘッダ(X_auth_credentials)と。

パラメータ(currentPassword)は必要ないことがわかって。

 

そこで、別のアカウント(victim@mail.com)を作成して。

被害者の電子メールを変更し、アカウントと同じ資格情報を使用して。

サーバに要求を送信すると200 OKを取得して。

パスワードの変更機能が完了したことを示す応答が表示されて。

 

f:id:ThisIsOne:20220318211518p:plain


そこで、ログインページに移動し、被害者の電子メールと。

新しいパスワード(test@1234)を入力すると被害者のアカウントにアクセスできて。

 

攻撃ワークフロー:

1.電子メールを被害者の電子メールに変更して。

2.ヘッダ(X_auth_credentials)とパラメータ(currentPassword)を削除して。

3.新しいパスワードを入力して。

4.リクエストを送信すると、応答として200OKが返されて。

5.新しいパスワードを使用して被害者のアカウントにログインすると。

 被害者のアカウントに正常にアクセスできて。

 

影響:

 被害者からのやり取りなしでの完全なアカウント乗っ取りができて。

 

Best regards, (^^ゞ