本文へスキップ

クロスサイトスクリプティングとは?

くろすさいとすくりぷてぃんぐ

クロスサトスクリプティングとは、Webページに悪意のあるスクリプトを埋め込み、閲覧したユーザーのブラウザ上で実行させるWebアプリケーションへの攻撃手法です。

クロスサトスクリプティング(XSS:Cross-Site Scripting)とは、Webアプリケーションの脆弱性を突いて、攻撃者が用意した悪意のあるJavaScriptなどのスクリプトを正規のWebページに埋め込み、そのページを閲覧した別のユーザーのブラウザ上でスクリプトを実行させる攻撃手法です。

XSSは大きく三種類に分類されます。

  • 反射型XSS(Reflected XSS):URLパラメータなどに含まれたスクリプトがサーバー側でエスケープされずにそのままレスポンスに含まれる
  • 格納型XSS(Stored XSS):攻撃スクリプトがデータベースに保存され、ページを表示するたびに複数のユーザーへ影響を与える。掲示板やコメント機能が標的になりやすい
  • DOMベースXSS(DOM-based XSS):サーバーを介さず、クライアントサイドのJavaScriptがDOMを書き換える際に発生する

攻撃が成功すると、セッションクッキーの窃取(セッションハイジャック)、フィッシングページへのリダイレクト、キーロガーの設置、偽フォームによる個人情報詐取などが行われる危険があります。

対策の基本は出力時のエスケープ処理です。HTMLの特殊文字(< > & "など)を実体参照に変換することで、スクリプトとして解釈されなくなります。また、Content Security Policy(CSP)の設定、HttpOnly属性付きCookieの使用、入力値の厳密なバリデーションも重要な対策です。

使い方・例文

「掲示板のコメント欄にスクリプトタグを含む投稿を行い、格納型XSSでほかの閲覧者のセッションを盗む」という形で、Webセキュリティの入門解説で頻繁に取り上げられます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語