クロスサイトスクリプティング 【XSS】 Cross Site Scripting
概要
クロスサイトスクリプティング(XSS)とは、利用者が入力した内容を表示するような構成のWebサイトに存在する欠陥を悪用して、攻撃者が用意した悪意のあるスクリプトを利用者の元に送り込んで実行させる攻撃手法。解説 SNSやECサイトのように閲覧者が送信したデータを何らかの形でコンテンツの一部として表示する機能を含む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データなどを攻撃者に盗み取られたり、攻撃者の用意した偽サイトに誘導されて個人情報やアカウント情報などを攻撃者に送信してしまったり、標的サイト上で意図せず自動的に特定の操作を実行させられてしまうなどの被害を受ける。
現在では様々な攻撃のバリエーションが知られており、必ずしも攻撃者がサイトを用意する必要はなくなっている。攻撃者が用意したスクリプトを標的サイトのものとして実行させられてしまう攻撃全般をクロスサイトスクリプティングと呼んでいる。
「クロスサイトスクリプティング」の関連用語
他の用語辞典による「クロスサイトスクリプティング」の解説 (外部サイト)
- ウィキペディア「クロスサイトスクリプティング」
- imidas 時事用語事典「クロスサイト・スクリプティング」
- 日経 xTECH Networkキーワード「クロスサイト・スクリプティング」
- 日経 xTECH IT基本用語辞典「クロスサイトスクリプティング (XSS)脆弱性)」
- MDN Web Docs 用語集「クロスサイトスクリプティング」
- JPNIC インターネット用語1分解説「クロスサイトスクリプティング」
- SOMPO CYBER SECURITY サイバーセキュリティ用語集「クロスサイトスクリプティング」
- ケータイ用語の基礎知識「クロスサイトスクリプティング」
- @IT セキュリティ用語事典「クロスサイトスクリプティング」
- IDCフロンティア クラウド・データセンター用語集「クロスサイトスクリプティング」
資格試験などの「クロスサイトスクリプティング」の出題履歴
① | ② | ③ | |
ア | クロスサイトスクリプティング | トロイの木馬 | ボット |
イ | クロスサイトスクリプティング | ボット | トロイの木馬 |
ウ | 標的型攻撃 | クロスサイトスクリプティング | トロイの木馬 |
エ | 標的型攻撃 | トロイの木馬 | クロスサイトスクリプティング |