クロスサイトスクリプティング 【XSS】 Cross Site Scripting

概要

クロスサイトスクリプティング(XSS)とは、利用者が入力した内容を表示するような構成のWebサイトに存在する欠陥を悪用して、攻撃者が用意した悪意のあるスクリプトを利用者の元に送り込んで実行させる攻撃手法。

解説 SNSECサイトのように閲覧者が送信したデータを何らかの形でコンテンツの一部として表示する機能を含むWebサイトが標的となる。入力内容のチェックが甘い場合に、攻撃者の仕掛けたスクリプトWebページ上で実行される簡易プログラム)が閲覧者のコンピュータで実行される。

典型的な攻撃例は以下の通りである。まず、標的サイトには入力フォームがあり、閲覧者の入力を受け付けてサイト内の別のページに表示する。入力内容が「Hello World」の場合「http://標的サイト/message.cgi?text=Hello+World」というURLでアクセスするものとする。

フォームの受け付けプログラムには入力内容のチェックに不備(XSS脆弱性)があり、「Hello+World」の部分が実行可能なJavaScriptのコード断片であってもそのままブラウザへ送り返し、内容を表示した閲覧者のコンピュータ上で実行されてしまう。

攻撃者はこのサイトの利用者に向けて攻撃用のサイトを用意し、標的サイトに向けてリンクを作成する。リンク先のURLには「http://標的サイト/message.cgi?text=%3Cscript%3Ealert%28%22Hello+World%22%29%3B%3C%2Fscript%3E」のように、スクリプトとして解釈・実行される文字列を含ませておく。

閲覧者が攻撃用サイトのリンクを経由して標的サイトを訪れると、攻撃者によって仕込まれていたスクリプトが標的サイト上のものとして動作し、様々な攻撃が実行される。サイトをまたいでスクリプトが移転・実行されることが「クロスサイト」の名称の由来となっている。

この攻撃により、閲覧者は標的サイトの発行したCookieデータなどを攻撃者に盗み取られたり、攻撃者の用意した偽サイトに誘導されて個人情報アカウント情報などを攻撃者に送信してしまったり、標的サイト上で意図せず自動的に特定の操作を実行させられてしまうなどの被害を受ける。

現在では様々な攻撃のバリエーションが知られており、必ずしも攻撃者がサイトを用意する必要はなくなっている。攻撃者が用意したスクリプトを標的サイトのものとして実行させられてしまう攻撃全般をクロスサイトスクリプティングと呼んでいる。

(2020.2.28更新)

他の用語辞典による「クロスサイトスクリプティング」の解説 (外部サイト)

資格試験などの「クロスサイトスクリプティング」の出題履歴

▼ ITパスポート試験
平30秋 問77】 情報セキュリティの脅威に関する説明①〜③と、用語の適切な組合せはどれか。① Webページに、利用者の入力データをそのまま表示するフォーム又は処理があるとき、第三者が悪意あるスクリプトを埋め込み、訪問者のブラウザ上で実行させることによって、cookieなどのデータを盗み出す攻撃② 多数のPCに感染し、ネットワークを介した指示に従ってPCを不正に操作することによって、一斉攻撃などを行うプログラム③ 利用者に有用なプログラムと見せかけて、インストール及び実行させることによって、利用者が意図しない情報の破壊や漏えいを行うプログラム
クロスサイトスクリプティングトロイの木馬ボット
クロスサイトスクリプティングボットトロイの木馬
標的型攻撃クロスサイトスクリプティングトロイの木馬
標的型攻撃トロイの木馬クロスサイトスクリプティング
平29秋 問91】 クロスサイトスクリプティングなどの攻撃で、Cookieが漏えいすることによって受ける被害の例はどれか。
平27春 問84】 クロスサイトスクリプティングに関する記述として、適切なものはどれか。
平24秋 問60】 クロスサイトスクリプティングの特徴に関する記述として、適切なものはどれか。
平24春 問77】 クロスサイトスクリプティングとは、Webサイトのぜい弱性を利用した攻撃である。

▼ 基本情報技術者試験
令5修1 問44】 クロスサイトスクリプティング対策に該当するものはどれか。
平31修1 問38】 クロスサイトスクリプティングに該当するものはどれか。
平29修12 問36】 クロスサイトスクリプティングに該当するものはどれか。
平29修7 問36】 クロスサイトスクリプティングに該当するものはどれか。
平29修6 問45】 クロスサイトスクリプティングによる攻撃を防止する対策はどれか。
平26修12 問40】 クロスサイトスクリプティングの手口はどれか。
平26修7 問40】 クロスサイトスクリプティングによる攻撃を防止する対策はどれか。
平24修1 問42】 クロスサイトスクリプティングの手口はどれか。