クロスサイトスクリプティングとは?
くろすさいとすくりぷてぃんぐ
クロスサイトスクリプティングとは、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セキュリティの入門解説で頻繁に取り上げられます。
この用語をシェア
最終更新: