ユーザーがJavaScriptブロックをサーバーに貼り付けて、このユーザーのWebページのheadの下に追加できるようにする必要があります(ユーザードメインはcustomName.oursite.comになります)。このタイプの機能のセキュリティへの影響は何ですか?
6 に答える
XSS攻撃やCSRF攻撃などの攻撃を含め、Javascriptでできることは何でも彼らにやらせています。セッションを盗んだり、悪意のあるサイトにリダイレクトしたり、Cookie情報を盗んだり、ユーザーのブラウザをロックしたりする可能性があります。本質的に多くのセキュリティへの影響があり、あなたはまたあなたの責任を増大させるでしょう。ユーザーは悪い振る舞いをあなたのサイトに関連付け、悪意のあるJavascriptが含まれているのがあなたの顧客であることに気付かない可能性があります。
クロスサイトスクリプティング攻撃は大きなものです
XSSが最大の問題です。これにより、Cookieやページへのアクセスが許可されたり、昇格された特権が付与されたり、悪意のあるページにリダイレクトされたりして、ユーザーのマシン全体またはサーバー全体でウイルスが発生する可能性があります。
これを 2 つの観点から考えてみましょう。まず、ユーザーはブックマークレットとブラウザーの開発ツールの JavaScript コンソールを介して、ほとんどの場合既にこれを実行できます。したがって、サーバーは悪意のあるクライアントに対してすでに強化されている必要があります。ユーザーはブラウザでサイトにアクセスできますが、攻撃者は任意の HTTP または TCP メッセージで攻撃する可能性があるため、それを処理する必要があることに注意してください。したがって、最初から、クライアントを信頼できないものとして扱い、最悪の場合は敵対的に扱うようにサーバーを設計する必要があります。
具体的には、サイトがこの種のことを許可することはほとんどありません。ただし、多くのアプリケーションではこのタイプのソリューションが必要です。したがって、サーバーから送信するデータは、信頼されていない、破損している、漏洩している (プライバシーの観点から)、または安全でないユーザー作成の JavaScript によってアクセスされる可能性があることに注意してください。JavaScript がブラウザで認証フィルタリングを実行できるとは信じないでください。サーバーから送信されるすべてのデータは、承認のために既に適切にフィルター処理されている必要があり、サーバーが有効な/承認された要求を受信するとは決して考えないでください。
重要な質問は、JavaScriptがどこで実行されるかということだと思います。ユーザーにのみ表示される1つのページで実行される場合、そのユーザーのみがスクリプトの影響を受ける可能性があります。たとえば、コメントボードで実行すると、他のユーザーがスクリプトの影響を受ける可能性があります。たとえば、スクリプトは悪意のあるサーバーにhttpリクエストを送信し、リクエストとともにCookieを渡します。