たとえば、crossdomain.xml と clientaccesspolicy.xml がある場合、その意味は何ですか?PHP/cURL?
-
06-09-2019 - |
質問
したがって、サイトがあり、そこにcrossdomain.xmlまたはclientaccesspolicy.xmlが存在しないとします。
これは、人々が Silverlight または Flash アプリケーション経由で私のサイトにアクセスできないことを意味します。
しかし、彼らは、たとえば PHP の cURL (または他の言語の同等のもの) を使用して、私のサイトから情報を取得し、それを REST や WebService などを介して Silverlight アプリケーションや Flash アプリケーションに提供することができます。
誰かがこれらの制限が私のサイトをどのように保護するかを正確に説明できますか?クロスドメイン スクリプティングから?
PHP/cURL や同等のものでは不可能なことから何を保護しているのでしょうか。 する スクリプト経由で私のサイトにアクセスできますか?
解決
PHPは、サーバー側の技術であり、コードがないユーザーのマシン上で、サーバー上で実行されます。 Silverlightは、ユーザーのマシン上で動作するクライアント側の技術です。
Silverlightのコードは、任意のドメインに任意のWebリクエストを作ることができれば、それはクロスサイトスクリプティング攻撃の全体のホストへの扉を開くことでしょう。
画像このシナリオ:
ボブはwww.OnlineBanking.comに行き、彼の口座の残高を確認することで記録します。彼は別のアドレスに移動して、このサイトを離れます。彼は、「ログアウト」をクリックしていないので、彼はまだ(あるいは、彼がまだ開いバンキングサイトを残して、新しいブラウザウィンドウ/タブを開きます)に記録されます。
ボブは、Silverlightアプリケーションを含む、evil.comを閲覧。
Silverlightアプリケーションがダウンロードされ、ボブのマシン上で実行される。
このアプリケーションは、www.OnlineBanking.com/secretaccountdetails.htmlへのWeb要求を行います。このファイルは、(evil.comが認証されていないので、それをアクセスすることはできません)読み取るために認証が必要です。
ボブは、しかし、 に認証され、要求が成功します。 Silverlightアプリケーションは、このファイルの内容を読み、それが(evil.comに送信含む)それで好きなものは何でも行うことができます。
Silverlightのクロスドメインリクエストの制限が起こってから、上記のシナリオを防ぎます。要求がOnlineBanking.comへのSilverlightアプリによってなされた場合、アプリケーションが異なるドメインから提供されたので、クロスドメインポリシーファイルをチェックします。 OnlineBanking.comは、クロスドメイン要求を許可するポリシーファイルを持っていないので、要求は失敗し、Silverlightアプリケーションはsecretaccountdetails.htmlをダウンロードすることができません。