Hello there, ('ω')ノ
IDOR による PII 漏えい + 脆弱な PasswordReset = アカウントの完全な乗っ取りを。
脆弱性:
IDOR、情報開示
記事:
PII漏洩とは、個人を特定できる情報 (PII) は、ユーザ名、ユーザID、その他の。
個人情報など、特定の個人を特定できる可能性のあるデータで。
PII 漏えいは、そのようなデータの露出で。
アカウント乗っ取りの脆弱性とは、ハッカーがアプリケーションのロジックの。
欠陥を悪用して、ユーザのアカウントを完全に制御できる脆弱性の一種で。
今回のプログラムを 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 は自分のメール アドレスで。
でも [asdfghjkl9156837465000] は何なのかわからず。
しばらくリンクをいじった後、URL の最後の部分、つまりユーザID だけがパ。
スワードのリセットのためにサーバによって検証されていることがわかって。
したがって、ユーザーIDを知っていれば、パスワードを簡単に変更できて。
ここでの目標は、ユーザの UserID が漏洩または漏えいした場所を見つけることで。
数日間の偵察の後、JavaScript ファイル内のエンドポイントで。
IDOR を見つけることができて。
エンドポイントは userID パラメータのみを必要としていたため。
ユーザーIDに属していたユーザ名、電子メール アドレス、さらには所属する住所など。
多くの機密情報が漏えいして。
IDOR リンク:
https://redacted.com/razor/verify_email?rand=588588&request=wcq
あとは、力ずくで各ユーザ ID のメール アドレスを列挙するだけで済んで。
ちなみに UserID =1 は管理者に属していて。
簡単な流れ:
1.エンドポイントから userID と Email Address を列挙
2.パスワードをリセット
3.新しいパスワードでログイン
4.完全なアカウントの乗っ取り
追伸:
Web サイトには、銀行口座番号、PAN、Adhar カード、その他の機密データなどの。
個人情報が保存されており、被害者のアカウントに署名した後にアクセスできて。
Best regards, (^^ゞ