CyberGlossary

攻撃と脅威

クロスサイトスクリプティング(XSS)

別称: XSS

定義

他のユーザーが閲覧するページに悪意あるスクリプトを注入し、当該サイトのオリジンとして被害者のブラウザで実行させる Web 脆弱性。

クロスサイトスクリプティング(XSS)は、Web アプリケーションが信頼できない入力を適切なエスケープやサニタイズなしにレスポンスへ埋め込み、攻撃者が制御する JavaScript を被害者のブラウザで実行できてしまう脆弱性です。主に、リクエストに含めた値がそのまま反射される「反射型」、コメント等にサーバー側で保存される「保存型」、クライアント側コードに脆弱性がある「DOM 型」の 3 種類に分類されます。攻撃が成功するとセッションの乗っ取り、トークンの窃取、ページの改ざん、マルウェアの配布、SSRF や CSRF との連鎖などが可能となります。対策としては、コンテキストに応じた出力エンコーディング、厳格な Content-Security-Policy、フレームワークのテンプレート、HTTPOnly および SameSite Cookie、入力検証が有効です。

  • フォーラム投稿に仕込まれた保存型 XSS が、スレッドを閲覧した全ユーザーのセッション Cookie を盗み出す。
  • 検索パラメータの反射型 XSS が、攻撃者の用意したリンク経由で任意の JavaScript を実行する。

関連用語