Shikata Ga Nai

Private? There is no such things.

My Fourth Account takeover through password resetを訳してみた

Hello there, ('ω')ノ

 

パスワードのリセットによる4番目のアカウントの乗っ取り

 

脆弱性:

 アカウントの乗っ取り

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

 

記事:

 https://infosecwriteups.com/my-fourth-account-takeover-through-password-reset-28a36dfebaf

 

今回は、redacted.comと呼ぶことに。

プログラムを偵察した後に、パスワードリセットを調べ始めて。

いつも(Account Takeover (ATO) 、ホストヘッダインジェクション)の脆弱性から。

ユーザがパスワードをリセットしたい場合は、メールアドレスを入力すると。

パスワードリセットリンクがメールアドレスに送信されて。

アカウントのパスワードのリセットをリクエストすると。

パスワードのリセットリンクは下記のとおりです。

 

 https://redacted.com/update-password/12d52catcbc344ec-9871-85ac6390d863/1621264272

 

パスワードリセットリンクは、ユーザIDとランダムな10桁のコードで構成されて。

ここで興味深かったのは、任意のユーザアカウントを引き継ぐことができる点で。

これは、10桁のコードがシリアルコードであるため。

ランダムな値は生成されずにシリアル値で。

つまり、パスワードをリセットするように求められた場合は。

アカウントとコードが「1618963650」で、リセットをリクエストしていて。

被害者のアカウントのパスワードは、コード「1618963720」になっていて。

最後の3つの数字のみが異なっているので、000から999の範囲で。

ブルートフォース攻撃を実行できるわけで。

 

現在の問題は、ユーザIDが公開されておらず。

このIDをリークしたエンドポイントを検索することで。

GoogleDorksを使用しても何も得られなくて。

 

そこでサイトは、ユーザが記事を公開できて。

特定の記事をユーザに報告する機能があって。

ユーザに記事を報告すると、ユーザの記事が見つかることがわかったので。

リクエストで、IDがリークされるので。

 

再現する手順 :

1.アカウントのパスワードのリセットをリクエストして。

2.被害者のアカウントのパスワードのリセットをリクエストして。

3.次に、IDを被害者IDに変更して。

 同じ10桁のコードを使用して、最後の3桁に対して。

 ブルートフォース攻撃のみを実行すると正常に完了して。

4.このリンクでブルートフォース攻撃を実行して。

 10桁のコードの下の3桁を指定して。

  https://redacted.com/update-password/12d52catcbc344ec-9871-85ac6390d863/1621264272

 

Best regards, (^^ゞ