これは私の前例の1つを再定式化したものです:私の前例の1つ
セキュリティ上の理由から、ブラウザは他のドメインの画像を使用した後、キャンバス上の一部の機能の使用を制限します。
このセキュリティ上の理由は何ですか?キャンバスに画像を表示すると、どのようにリスクが生じる可能性がありますか?
これは私の前例の1つを再定式化したものです:私の前例の1つ
セキュリティ上の理由から、ブラウザは他のドメインの画像を使用した後、キャンバス上の一部の機能の使用を制限します。
このセキュリティ上の理由は何ですか?キャンバスに画像を表示すると、どのようにリスクが生じる可能性がありますか?
HTML5キャンバス画像のセキュリティルールを理解するという投稿を書きました
短いバージョンでは、キャンバスがローカルファイルをそれ自体に描画できる場合、ローカルドライブ(プライベート)または自分だけが表示できるプライベートサイト(internal.myWebsite.com
)にあるファイルを描画し、そのimageDataを取得し、そのファイルをサーバーにアップロードし、画像を効果的に盗みます。それは不可能なので、「ローカルファイルとクロスドメインファイルはorigin-cleanを破る」というルールが適用されます。
Webサイトを所有していて、クロスオリジン方式で画像を使用できるようにする場合は、CORSを有効にする必要があります。
これはクレイジーな例ですが、うまくいけば、次のようなアイデアが得られます。
オンラインショッピングのウェブサイトがあるとします。ユーザーのプロフィールページに、カードの最後の4つの番号が記載されたクレジットカードの素敵な画像(キャンバスが作成された)が表示されます。ユーザーがクリックすると、クレジットカードの詳細を変更できます。 (番号、日付など)。それはいいです。
ここで、XSSの脆弱性、SQLインジェクションなど、何らかの手段で、クラッカーがキャンバスイメージをロードするリンクを変更して、攻撃者のサーバー内のキャンバスイメージを指すようにする可能性があることを想像してみてください。
クラッカーが送信しているキャンバス画像は、元のWebサイトと同じですが、最後に4つの番号が異なり、「これがクレジットカードでない場合は、ここをクリックして変更してください」というリンクが付いています。
ユーザーがそのリンクをクリックすると、クラッカーのフィッシングWebページに移動し、元の「カードデータの詳細の変更」ページがリサンブルされますが、ユーザーがクレジットカードの詳細を入力すると、攻撃者のサーバーに保存され、元のページにリダイレクトされます。 Webサイト。