Reset Password to Account Takeover から学ぶ

ソース:

rhidayah.medium.com

脆弱性:アカウントの乗っ取り

 

訳:

このバグにより、悪意のあるユーザーは、Web サイトに登録されている電子メールを使用するだけで、被害者のアカウントを乗っ取ることができます。

インパク

アカウント乗っ取り

再現手順

ユーザー

  • ユーザー A (攻撃者、攻撃者@gmail.com)
  • ユーザー B (被害者、victim@gmail.com)

ステップ

    1. ユーザー A が次の場所でパスワードのリセットを要求します。

      https://redacted.com/forgot-password 
    2. ユーザー A は、リンクをコピーしてブラウザに貼り付けます。

    3. リンクは以下のようになります。

      https://redacted.com/reset-password?token=random_hash&email=attacker@gmail.com

    4. 新しいパスワードを入力して確認します。

    5. 手順 3 のリンクの電子メールの値を電子メール Victory@gmail.com に変更したとき、この方法は機能しませんでした。

    6. プロキシ ツールを使用してリクエストをキャプチャし、送信します。

    7. POST エンドポイントに送信されます。 /reset_password?app=cms リクエストは、以下のようないくつかのパラメーターを使用して

 {"password":"Anjir123!@#","password_confirmation":"Anjir123!@#","token":"random_hash","email":"attacker@gmail.com"}

    8. 次に、電子メールのパラメーター値を被害者の電子メール、つまり

     victim@gmail.comに変更し、サーバーにリクエストを送信すると、

     200 OKの応答が返され。以下のようないくつかのパラメーターを含む

 

{"status":"success","state":200,"message":"Kata sandi telah berhasil di atur ulang.","data":[]}

 

    9. 次に、新しい電子メールとパスワードを使用してユーザー B のアカウントに

     ログインすると、彼のプロフィール ダッシュボードが表示され。 

 

 

ほなほな。