1

API リソースへのアクセスは、

  1. Web ブラウザーによって自動的に送信できるが、Access-Control-Allow-Credentials が「true」に設定されていない限りクロスドメインには送信されない資格情報 (例: Cookie、HTTP Basic/Digest 認証、SSL 証明書)。

  2. クライアントが手動で設定する必要がある HTTP ヘッダーまたは URL のクエリ パラメータとしてのシークレット トークン (OAuth アクセス トークンなど)。

それを念頭に置いて、API のすべてのリソースに「Access-Control-Allow-Origin: *」を設定することは常に安全ですか?

4

1 に答える 1

0

任意の時点で、攻撃者が制御するドメインで JavaScript を実行している場合、トークンを提供せずにデータを取得したり、状態の変更を実行したりできる場合、脆弱性があります。この攻撃はCSRFと非常によく似ていますが、データの流出まで視野を広げている点が異なります。

しかし、CSRF と同様に、クライアントがリクエストごとにトークンで認証する必要があり、攻撃者がこのトークンを知らない場合、CSRF のような攻撃でCORS API にアクセスすることはできません。

于 2012-08-31T16:41:22.863 に答える