web-dev-qa-db-ja.com

画像に対してCORSを有効にすると、セキュリティにどのような影響がありますか?

私が働いている会社では、ユーザープロフィール写真サーバーを運営しています。フェッチし、視覚的に変更(ぼかし、いくつかの効果などを追加)して、それらの画像を<canvas>。問題は、フォトサーバーが別のOriginにあり、取得した画像をキャンバスに追加すると tainted になり、画像を操作できなくなることです。

画像に対してCORSを有効にすると、セキュリティに影響がありますか?悪意のある人は何ができますか?

4
Oleg

設定方法によって異なります。任意のドメインからのクロスオリジンリクエストを許可した場合、画像のURLを見つけた攻撃者は、Javascriptアプリケーション内で実行できるすべてのことを実行できます。セキュリティは現在のセキュリティとまったく同じです。リクエストを特定のアプリケーションサーバーに制限すると、現時点ではできないように、リクエストが何もできないはずです。

CORSは、リモートサイトが認識できない画像(画像タグを使用してFacebookサーバーなど)をロードし、クライアントに気付かれずにコンテンツをサーバーにコピーするなど、クライアント側の攻撃を防ぐことを目的としています。したがって、あなたが説明する状況は、それがうまく処理できるものです。

この場合、変更された画像をサーバーに保存するための機能が安全であることがより重要です。これにより、サーバーが侵害されたり、画像を保存する方法としてシステムを使用しているサードパーティのサイトで発生したりする可能性があります。 CORSが有効になっていても、適切な認証手順を実行しないと、攻撃者はサーバーから直接画像を簡単に読み込むことができます。たとえば、画像のURLでcURLコマンドを実行します。

3
Matthew