クロスサイトスクリプティング 【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用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる