XSS(Cross-Site Scripting)はWebアプリケーションに悪意あるスクリプトを埋め込み、 そのサイトを訪問したユーザーのブラウザ上で実行させる攻撃です。 セッションハイジャック・フィッシング・マルウェア配布など多様な攻撃に悪用されます。
XSSはWebアプリケーションがユーザーの入力をそのままHTMLに出力する際に発生します。 攻撃者が悪意あるJavaScriptを入力すると、それがWebページの一部として他のユーザーに配信され、 被害者のブラウザ上で実行されてしまいます。
XSSはWebアプリケーション開発者が必ず理解すべき攻撃です。 出力時のHTMLエスケープとCSPの設定という2つの基本対策を徹底するだけで、 大部分のXSS攻撃を防ぐことができます。 ReactやVueなどのモダンフレームワークは自動エスケープ機能を持っているため、 フレームワークを正しく使うことも重要な防御策です。