Shikata Ga Nai

Private? There is no such things.

Exploiting CORS to perform an IDOR Attack leading to PII Information Disclosureを訳してみた

Hello there, ('ω')ノ

 

CORSを悪用してIDOR攻撃を実行し、PII情報の開示につながるを。

 

脆弱性:

 CORSの設定ミス

 情報開示

 

記事:

 https://notmarshmllow.medium.com/exploiting-cors-to-perform-an-idor-attack-leading-to-pii-information-disclosure-95ef21ecf8ee

 

今回のアプリケーションは、Eコマースプラットフォームであり。

いつものように、アプリケーションのビジネスロジックの脆弱性を探していて。

最初の数時間は、アプリケーションのワークフローを理解し、データを操作して。

リピータにリクエストを送信し、XSSなどの他の脆弱性を探していましたが。

アプリケーションはかなり安全で。

 

アプリケーションを再度開くと、CHECKOUT機能のテストを開始して。

チェックアウト時に、アプリケーションは期待どおりにユーザの配送先住所と。

クレジットカードの詳細を要求していたので。

チェックアウトページのURLを確認したところ下記のとおりで。

 https://redcorp.com/20183638/checkout/700dd776teu8890abcdpo12ha0

 

このハッシュを他のユーザのハッシュと交換すると。

チェックアウトページのカート内のアイテムが変更されたので。

これは承認の欠如を示していますが。

アプリケーションはアカウントを交換したり。

カート内のアイテムを変更したりしないので、これは十分な影響を与えず。

簡単に言うと、他のユーザのカートのアイテムを。

ロードするために使用されていて。

 

その後、Burp Suiteの履歴を調べていたところ。

上記と同じハッシュを含む別のエンドポイントをみつけて。

 /wallets/checkouts/700dd776teu8890abcdpo12ha0.json

 

このハッシュは、ユーザのアカウントのデータを保存するために使用されて

エンドポイント「/wallets/ checkouts /」は。

ユーザがデータへのアクセスを許可されているかどうかを確認しなくて。

攻撃者のハッシュを被害者のハッシュと交換すると。

応答に被害者のアカウントのデータが読み込まれるようで。

 

さて、「/wallet/checkout/random_hash.json」エンドポイントで。

他のユーザのハッシュを置き換えることで。

他のユーザのすべての詳細を盗むことができて。

ただし、ランダムハッシュは推測が難しく、ブルートフォース攻撃は時間の無駄で。

他のユーザのハッシュを盗むことができれば。

そのユーザの名前、自宅の住所、クレジットカードの詳細などを表示できるので。

 

f:id:ThisIsOne:20220331155827p:plain

 

検索機能を使用してBurp Suiteでハッシュを検索し。

どこかにリークしていないかどうかを確認すると。

トランザクションのターゲットアプリケーションに統合され。

クレジットカード番号を検証するサードパーティアプリケーションは。

このハッシュにアクセスできて。

 

CORSは、リクエストからのデータへのアクセスを許可していて。

アプリケーションは、データを検証するためにサードパーティのアプリケーションと。

データを共有する必要があって。

これはデータへのアクセスにも役立って。

CORSは、任意のドメインがリクエストからデータをフェッチできるように。

構成されているので、これらのデータをフェッチすることもできるので。

攻撃者は最初にCORSを悪用してユーザのランダムハッシュを取得し。

ハッシュを置き換えて被害者のデータにアクセスすると。

名前、住所、クレジットカード情報、支払い情報、およびユーザの。

アカウントに関連するすべてのものが含まれて。

 

Best regards, (^^ゞ