Hello there, ('ω')ノ
IDORを介したPIIリーク+弱いPasswordReset =完全なアカウント乗っ取りを。
脆弱性:
IDOR、情報開示
記事:
個人を特定できる情報(PII)とは、ユーザ名、ユーザID、その他の個人情報など。
特定の個人を特定できる可能性のあるデータで。
アカウント乗っ取りの脆弱性とは、ハッカーがアプリケーションのロジックの欠陥を。
悪用してユーザのアカウントを完全に制御できるようにする脆弱性の一種で。
今回は、プログラムをredacted.comと仮定して。
ターゲットのパスワードリセット機能のテストを開始すると。
他のWebサイトと同様に、https://redacted.com/forgotpasswordで。
パスワードを忘れた場合も、パスワード変更のために。
登録済みのメールアドレスに電子メールが送信されて。
パスワードのリセットリンクは次のとおりで。
https://redacted.com/forgot_password/5f12cc7079f273.12051864/1597479504/NTg4NTg4a2lsbGVyQGdtYWlsLmNvbWFzZGZnaGprbDkxODI3Mzc0NjUwMDA=+++NTg4NTg4a2lsbGVy+++NTg4NTg4
パスワードを変更してもリンクの有効期限が切れず。
パスワードのリセットをもう一度要求すると、次のリンクが表示されて。
https://redacted.com/forgot_password/8ac79ccf2a33.12057854/1597486704/NTg4NTg4a2lsbGVyQGdtYWlsLmNvbWFzZGZnaGprbDkxODI3Mzc0NjUwMDA=+++NTg4NTg4a2lsbGVy+++NTg4NTg4
注意すべき点は、URLの最後の部分が両方のリンクで同じであるということで。
上記のリンクを分析後:
1597486704→Unixタイムスタンプ
URLの最後の部分はbase64で、デコードすると次のようになります。
588588killer@gmail.comasdfghjkl9182737465000 +++ 588588killer +++ 588588
ここで、588588は自分のユーザIDで、killer@gmail.comは自分のメールアドレスで。
そして、[asdfghjkl9156837463000]について。
しばらくの間リンクを操作した後、URLの最後の部分、つまりuserIDのみが。
サーバによってパスワードのリセットについて検証されていることに気づくことに。
なので、userIDを知っていれば、他人のパスワードを簡単に変更することができて。
次の目標は、ユーザのUserIDが公開または漏洩した場所を見つけることで。
数日間の偵察の後、JavaScriptファイルのエンドポイントで。
IDORを見つけることができて。
エンドポイントに必要なのはuserIDパラメータだけで。
ユーザ名、メールアドレス、ユーザIDに所属する住所など。
多くの機密情報が漏洩していて。
IDORリンク:
https://redacted.com/razor/verify_email?rand=588588&request=wcq
あとは、ブルートフォースを介して各ユーザIDの電子メールアドレスを。
列挙することだけで。
ちなみにuserID=1は管理者に属していて。
簡単に:
エンドポイントからuserIDとEmailAddressを列挙して。
パスワードをリセットして。
新しいパスワードでログインして。
完全なアカウントの乗っ取りができて。
このWebサイトには、銀行口座番号、PAN、Adharカード、および。
被害者のアカウントに署名した後にアクセスできるその他の機密データなどの。
個人情報が保存されていて。
Best regards, (^^ゞ