Webサイトのコメント欄や検索窓などの入力欄から、悪意あるプログラムを紛れ込ませ、ほかの人がそのページを開いたときにその人のブラウザ上で勝手に動かしてしまう攻撃です。
仕組み
サイトが入力された文字をそのままページに表示してしまうと、入力に含まれたプログラムが「ページの一部」として実行されます。すると、閲覧者のログイン情報の盗み取りや、偽の入力画面の表示、勝手な操作などが起こりえます。被害を受けるのはサイトの閲覧者で、サイト運営者の気づかないうちに広がることがあります。
防ぐための基本
入力された文字は、画面に出す前に「<」「>」などの記号を無害な表示用の文字に置き換える(エスケープ処理)のが基本です。あわせて、フレームワークやテンプレートが備える自動エスケープ機能を使うこと、ブラウザに実行を許す範囲を制限するCSP(コンテンツセキュリティポリシー)を設定することも有効です。
注意点
入力欄だけでなく、URLの一部やフォームの再表示部分など、外から来た文字を表示する場所すべてが対象になります。一度対策しても、機能を追加するたびに穴ができることがあるため、定期的な点検と部品の更新が欠かせません。

















