メインコンテンツへジャンプする

JPNICはインターネットの円滑な運営を支えるための組織です

ロゴ:JPNIC

WHOIS 検索 サイト内検索 WHOISとは? JPNIC WHOIS Gateway
WHOIS検索 サイト内検索

クロスサイトスクリプティング(XSS)とは

クロスサイトスクリプティングとは、あるWebページに本来設置されていないスクリプトなどを、 CGI (Common Gateway Interface)や埋め込みの機能を利用して、アクセスしたWebブラウザに解釈 されるように仕向けることを言います。攻撃者によりあらかじめ意図的に設置された別サイトの スクリプトなどと連携するため、クロスサイトスクリプティング(Cross Site Scripting - XSS) と呼ばれています(*1)

クロスサイトスクリプティングが行われたWebページにアクセスすると、 あらかじめ仕込まれたスクリプトなどがWebブラウザに解釈され、 ブログなどにユーザーが意図しない書き込みが自動的に行われてしまったり、 フィッシング詐欺のための偽のWebページが読み込まれ、 表示されてしまったりします。 また、Webブラウザに保存されたcookieを利用して、 ユーザーが意図しないまま自動的にWebサービスにログインした状態にさせられ、 不正な操作を行うように仕向けられることがあります。

クロスサイトスクリプティングは、 WebブラウザのNetscapeがJavaScriptに対応した1995年のすぐ後の、 1996年頃から行われていたようです。しかし、これが米国のCERTから正式に 報告されたのは2000年のことで(*2)、 この後、国内でも多くの注意喚起が行われるようになりました。

クロスサイトスクリプティングへの対策としては、 Webブラウザ側で採る方法とWebサイトを提供する側で採る方法の両方が考えられますが、 Webブラウザではクロスサイトスクリプティングが行われたWebページかどうかの 見分けがつきにくく、ユーザー側での根本的な解決策は見つかっていません。

Webサイトを提供する側、もしくはWebインタフェースを採用するサービスを 提供する側の対策としては、自らのコンテンツに他のWebサーバのコンテンツを 埋め込むことがないようにしたり、CGIプログラムにおいて入力された値を チェックして、不正なデータを無効化したりすることが挙げられます (*3)。 これらは、SQLインジェクション(*4)を防ぐための 対策にもなるため、WebページやCGIプログラムを作成する際に一般的に行われるように なってきています。

(*1) "CSS (Cascading Style Sheet)"と区別して"XSS"と呼ばれています。

(*2) "CERT Advisory CA-2000-02 Malicious HTML Tags Embedded in Client Web Requests", CERT
http://www.cert.org/advisories/CA-2000-02.html

(*3) "1.2. クロスサイトスクリプティング" - 情報処理推進機構
http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a01_02.html

(*4) インターネット用語1分解説「SQLインジェクションとは」
http://www.nic.ad.jp/ja/basics/terms/sql-injection.html

JPNIC News & Views vol.1032(2012年11月15日発行)より

このページを評価してください

このWebページは役に立ちましたか?
よろしければ回答の理由をご記入ください

それ以外にも、ページの改良点等がございましたら自由にご記入ください。

回答が必要な場合は、お問い合わせ先をご利用ください。

ロゴ:JPNIC

Copyright© 1996-2024 Japan Network Information Center. All Rights Reserved.