Shikata Ga Nai

Private? There is no such things.

Account Takeover (User + Admin) Via Password Resetを訳してみた

Hello there, ('ω')ノ

 

パスワードリセットによるアカウント乗っ取りを。

 

脆弱性:

 アカウントの乗っ取り

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

 ロジックの欠陥

 

記事:

 https://infosecwriteups.com/account-takeover-user-admin-via-password-reset-322b8020ea6

 

自分のアカウントのパスワードリセットを行っていたところ。

メールに送信されたパスワードリセットリンクに。

5桁の数字のトークンが含まれていることがわかって。

 

その後、2人の異なるユーザ(アカウントAとB)のパスワードリセットを。

連続して実行しているときに、サーバは両方のユーザに。

連続した番号でトークンを割り当てるという結論に達して。

そのため、アカウントAが攻撃者のアカウントである場合は。

攻撃者はトークンIDを次の連続した番号に変更して。

アカウントB、つまり被害者のアカウントのパスワードを変更できるので。

これはアカウントの乗っ取りにつながって。

 

例:

アカウントAがリンクを受け取った場合は。

 https://dashboard.example.com/password-reset/form?token=28604

 

アカウントBは次を受け取ると。

 https://dashboard.example.com/password-reset/form?token=28605

 

調査の結果、管理者ユーザ用の個別のログインページがないことがわかって。

これは、管理者ユーザが同じログインページに。

事前設定されている可能性があることを意味して。

 

なので、管理者ユーザのメールアドレスを調べて。

アカウントを引き継ぐことができるようにすることに。

ウェブサイトの「about-us」ページにアクセスすると。

創設者のメールアドレスを見つけることができたので。

管理者アカウントを乗っ取りをしてみることに。

 

再現する手順:

 1.2つの異なるタブで下記のURLを開いて。

    https://dashboard.example.com/login

 

  下記の電子メールアドレスを使用して。

  両方のアカウントのパスワードリセットを連続して実行して。

   A:自分のアカウント

   B:管理者アカウント


    2.メモ帳を開き、アカウントAのパスワードリセットリンクをコピーして。

    https://dashboard.example.com/password-reset/form?token=12345


    3.トークンIDを下記の連続番号に変更して。

  連続して割り当てられるトークンIDとして。

  自分のトークンID12345の場合は、管理者トークンID12346になって。


    4.下記の変更したリンクを使用して、管理者パスワードをリセットすることに。

    https://dashboard.example.com/password-reset/form?token=12346


    5.管理者アカウントの乗っ取りに成功して。

 

影響:

 誰のアカウント乗っ取り

 

Best regards, (^^ゞ