クロスサイトスクリプティングとは?くろすさいとすくりぷてぃんぐ
略語の意味
XSS=Cross-site Scripting
Web サイトの入力欄などに悪い命令(スクリプト)を紛れ込ませ、そのページを開いた別の人のブラウザで動かす攻撃
- Cross-site
- サイトをまたいだ
- Scripting
- スクリプト(簡単な命令の文)を動かすこと
クロスサイトスクリプティングとは、入力された文字をそのまま画面に埋め込んで返すWebサイトの弱点を突き、投稿欄などに悪意あるスクリプトを仕込む攻撃。そのページを開いた別の利用者のブラウザ上でスクリプトが動き、ログイン状態を示すクッキーの盗み取りや、偽の入力画面の表示に使われる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
掲示板や検索結果のように、利用者が打ち込んだ文字をそのままページに載せて返す作りが広く普及した。文字として見せるつもりの入力に、プログラムとして解釈される記号が混じっていると、ブラウザはそれを命令として実行してしまう。データと命令の境目が曖昧だったことに由来する弱点で、ITパスポートでは開発側の対策(入力値の検証・無害化)と対で問われる。
具体例
会員制サイトの投稿欄に不正なスクリプトを含む書き込みが残り、それを開いた他の会員のブラウザでスクリプトが動いて、ログイン状態を示すクッキーが攻撃者へ送られる。攻撃者はそれを使い、本人になりすまして会員ページに入る。
試験での引っ掛け
動く場所を取り違えやすい。スクリプトが実行されるのはサイトのサーバではなく、ページを開いた利用者のブラウザ側である。名前の似たクロスサイトリクエストフォージェリ(CSRF)は、ログイン中の利用者に意図しない操作を行わせる別の攻撃なので混同しない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成22年度 秋期 ITパスポート試験 問59(IPA)
出典:平成24年度 秋期 ITパスポート試験 問60(IPA)
クロスサイトスクリプティングの特徴に関する記述として、適切なものはどれか。
正解:Webサイトに入力されたデータに含まれる悪意あるスクリプトを、そのままWebブラウザに送ってしまうという脆弱性を利用する。
要点:XSSは入力をそのまま出力する脆弱性を突く。対策は出力時のエスケープ
クロスサイトスクリプティングは、利用者の入力をそのままWebページに埋め込んで出力してしまう脆弱性を突く攻撃である。攻撃者が仕込んだスクリプトが閲覧者のブラウザで実行され、クッキーの窃取や偽の入力画面の表示などの被害を招く。対策は出力時のエスケープ処理である。
出典:平成24年度 春期 ITパスポート試験 問77(IPA)
クロスサイトスクリプティングとは、Webサイトの脆弱性を利用した攻撃である。クロスサイトスクリプティングに関する記述として、適切なものはどれか。
正解:Webページに、ユーザの入力データをそのまま表示するフォーム又は処理があるとき、第三者が悪意あるスクリプトを埋め込むことでクッキーなどのデータを盗み出す。
要点:入力をそのまま出力する隙にスクリプトを埋め込むのがXSS
クロスサイトスクリプティングは、入力された文字列をそのまま画面に出力してしまうWebページの脆弱性を突き、攻撃者が用意したスクリプトを閲覧者のブラウザ上で実行させる攻撃である。これによりクッキーに保存されたセッション情報などが盗まれる。対策は出力時のエスケープ処理である。
出典:平成27年度 春期 ITパスポート試験 問84(IPA)
クロスサイトスクリプティングに関する記述として、適切なものはどれか。
正解:Webサイトの運営者が意図しないスクリプトを含むデータであっても、利用者のブラウザに送ってしまう脆弱性を利用する。
要点:XSSは入力の未検査を突き他人のブラウザでスクリプトを実行させる
クロスサイトスクリプティングは、利用者の入力をそのままWebページに表示してしまうサイトの弱点を突き、悪意あるスクリプトを別の利用者のブラウザ上で実行させる攻撃である。これによりCookieの盗み出しや偽の入力画面の表示などが起こる。OSコマンドの注入やパスワードの使い回しを狙う攻撃、正体を偽るソフトとは仕組みが異なる。
出典:平成28年度 春期 ITパスポート試験 問64(IPA)解説で登場
SQLインジェクションの対策などで用いられ、処理の誤動作を招かないように、利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えること…
正解:サニタイジング
要点:サニタイジングは特殊文字を無害化し不正な解釈を防ぐ
サニタイジングは、利用者が入力した文字列のうち、プログラムやデータベースに特別な意味を持つ記号を無害な表現へ置き換える処理である。これにより入力がSQL文やHTMLの一部として解釈されるのを防ぎ、SQLインジェクションやクロスサイトスクリプティングを防げる。ストリーミングは配信方式、テザリングは端末経由の通信共有、リバースエンジニアリングは製品の解析技法である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。