GLOSSA

XSS

えっくすえすえす

XSS

一言でいうと

ユーザーの入力に紛れて悪意あるスクリプトを実行させる攻撃のこと。

詳しい意味

XSS(Cross-Site Scripting、クロスサイトスクリプティング)は、ユーザーが入力したテキスト(コメント、検索キーワード、プロフィール文など)に紛れて悪意のあるJavaScriptを埋め込み、それが他のユーザーのブラウザ上で実行される攻撃です。Cookieを盗まれて成りすまし、画面の改ざん、フィッシング誘導など被害は深刻です。対策の基本は「出力時のエスケープ」(< や > を &lt; &gt; に変換)と「Content Security Policy(CSP)」でのスクリプト実行制限。React など現代のフレームワークは標準で出力エスケープしてくれるが、`dangerouslySetInnerHTML` のような迂回手段で破る事故が起きやすいです。

何に使うか

ユーザー入力を画面に表示する全ての箇所で対策が必要。コメント欄、検索結果、ユーザープロフィール、エラーメッセージなど。

どんな時に出るか

「XSS脆弱性が見つかった」「サニタイズしてからレンダリング」「CSPで防御層を増やす」といった場面で登場します。

具体例

  • ユーザーのコメントを表示する処理で出力エスケープが抜けていてXSS脆弱性になっていた。
  • Content Security Policy を設定して、許可していない外部スクリプトの実行を遮断した。

別名・略称

xss(えっくすえすえす)Cross-Site Scripting(くろすさいとすくりぷてぃんぐ)

関連語

CSRF

間違えやすい語

CSRF

初心者向けメモ

ホテルの「お客様の声」掲示板に、誰かが「ふつうの感想」と見せかけて「次にこの掲示板を見た人の財布を抜く仕掛け」を仕込むイメージです。掲示板(あなたのサイト)が仕掛けの実行場所にされてしまいます。

この説明に改善点はありますか?

この説明を修正提案する新しい用語を提案する

提案は管理者が確認した後に反映されます