web-dev-qa-db-ja.com

クロスドメインJavaScriptセキュリティ

Web脆弱性スキャナーを使用してWebサイトをスキャンしました。 「クロスドメインJavaスクリプトソースファイルのインクルード)」とのリンクがいくつか示されています。

攻撃者がこの種の脆弱性をどのように悪用するのかを正確に知ることができますか?たとえば、問題のJSは addthis.com (共有ボタンなど)から取得されます。このエクスプロイトが機能するためには、攻撃者はaddthis.comを悪用し、addthis.jsを変更する必要があります。その後、ユーザーが私のWebサイトを閲覧すると、この変更されたaddthis.jsがクライアントのブラウザーPCで実行されます。私は正しい軌道に乗っていますか?

修正を行いたい場合、正しいアプローチは何ですか?外部ドメインJSをダウンロードしてWebサーバーから実行しますか?他にどのようなより良い、安全なアプローチがありますか?ありがとう

2
dorothy

はい、あなたのすべての仮定はそこで正しいです。

addthis.comのコンテンツを含めているため、クライアント側のOriginはこのドメインを完全に信頼しています。 addthis.comへの妥協があった場合、またはaddthis.comがスクリプトを変更してより侵襲的なものを実行することを決定した場合、サイトは脆弱になります。

たとえば、addthis.comが突然、スクリプトのエンドユーザーからデータを収集することを決定したり、このデータにCookieやHTML5ストレージデータが含まれる場合があります。彼らのドメインにスクリプトを含めることにより、あなたは彼らがあなたの同意なしにこれらの変更を行うことを許可しています。

はい、自分のドメインからファイルをダウンロードしてホスティングするのが安全な方法です。ただし、期待していることを実行するには実際のコードを信頼する必要があること、およびonly期待していることを忘れないでください。したがって、コードを手動で監査し、縮小などの操作を自分で行う場合は、価値があるかもしれません。

5
SilverlightFox