Hello there, ('ω')ノ
CORSを悪用してIDOR攻撃を実行し、PII情報の開示につながるを。
脆弱性:
CORSの設定ミス
情報開示
記事:
今回のアプリケーションは、Eコマースプラットフォームであり。
いつものように、アプリケーションのビジネスロジックの脆弱性を探していて。
最初の数時間は、アプリケーションのワークフローを理解し、データを操作して。
リピータにリクエストを送信し、XSSなどの他の脆弱性を探していましたが。
アプリケーションはかなり安全で。
アプリケーションを再度開くと、CHECKOUT機能のテストを開始して。
チェックアウト時に、アプリケーションは期待どおりにユーザの配送先住所と。
クレジットカードの詳細を要求していたので。
チェックアウトページのURLを確認したところ下記のとおりで。
https://redcorp.com/20183638/checkout/700dd776teu8890abcdpo12ha0
このハッシュを他のユーザのハッシュと交換すると。
チェックアウトページのカート内のアイテムが変更されたので。
これは承認の欠如を示していますが。
アプリケーションはアカウントを交換したり。
カート内のアイテムを変更したりしないので、これは十分な影響を与えず。
簡単に言うと、他のユーザのカートのアイテムを。
ロードするために使用されていて。
その後、Burp Suiteの履歴を調べていたところ。
上記と同じハッシュを含む別のエンドポイントをみつけて。
/wallets/checkouts/700dd776teu8890abcdpo12ha0.json
このハッシュは、ユーザのアカウントのデータを保存するために使用されて
エンドポイント「/wallets/ checkouts /」は。
ユーザがデータへのアクセスを許可されているかどうかを確認しなくて。
攻撃者のハッシュを被害者のハッシュと交換すると。
応答に被害者のアカウントのデータが読み込まれるようで。
さて、「/wallet/checkout/random_hash.json」エンドポイントで。
他のユーザのハッシュを置き換えることで。
他のユーザのすべての詳細を盗むことができて。
ただし、ランダムハッシュは推測が難しく、ブルートフォース攻撃は時間の無駄で。
他のユーザのハッシュを盗むことができれば。
そのユーザの名前、自宅の住所、クレジットカードの詳細などを表示できるので。
検索機能を使用してBurp Suiteでハッシュを検索し。
どこかにリークしていないかどうかを確認すると。
トランザクションのターゲットアプリケーションに統合され。
クレジットカード番号を検証するサードパーティアプリケーションは。
このハッシュにアクセスできて。
CORSは、リクエストからのデータへのアクセスを許可していて。
アプリケーションは、データを検証するためにサードパーティのアプリケーションと。
データを共有する必要があって。
これはデータへのアクセスにも役立って。
CORSは、任意のドメインがリクエストからデータをフェッチできるように。
構成されているので、これらのデータをフェッチすることもできるので。
攻撃者は最初にCORSを悪用してユーザのランダムハッシュを取得し。
ハッシュを置き換えて被害者のデータにアクセスすると。
名前、住所、クレジットカード情報、支払い情報、およびユーザの。
アカウントに関連するすべてのものが含まれて。
Best regards, (^^ゞ