戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2015年 春期 84


問題文

クロスサイトスクリプティングに関する記述として、適切なものはどれか。

選択肢

Webサイトの運営者が意図しないスクリプトを含むデータであっても、利用者のブラウザに送ってしまう脆弱性を利用する。(正解)
Webページの入力項目にOSの操作コマンドを埋め込んでWebサーバに送信し、サーバを不正に操作する。
複数のWebサイトに対して、ログインIDとパスワードを同じものに設定するという利用者の習性を悪用する。
利用者に有用なソフトウェアと見せかけて、悪意のあるソフトウェアをインストールさせ、利用者のコンピュータに侵入する。

🔒 解説は解答すると表示されます

クロスサイトスクリプティングに関する記述【ITパスポート 解説】

正解の理由

クロスサイトスクリプティング(XSS: Cross-Site Scripting、他サイト間スクリプティング)は、Webページに悪意のあるスクリプト(通常はJavaScript:ウェブページを動かすプログラミング言語)を埋め込み、閲覧者のブラウザ上でそのスクリプトを実行させる攻撃です。選択肢の中では、「Webサイトの運営者が意図しないスクリプトを含むデータであっても、利用者のブラウザに送ってしまう脆弱性を利用する。」がこの定義に合致します。
ポイントは「Webサーバや運営者の意図に反して、利用者のブラウザでスクリプトが実行される」点です。攻撃者は入力欄やURLなどを介して悪意あるスクリプトを送り、被害者のブラウザで不正な動作(クッキー窃取や画面改ざんなど)をさせます。

解法ステップ

  1. 問題文のキーワードを確認:「クロスサイトスクリプティング」「スクリプト」「ブラウザ」。
  2. XSSの本質を思い出す:攻撃対象は利用者のブラウザであり、サーバ上でOSコマンドが直接実行される攻撃ではない。
  3. 選択肢を1つずつ対照する:
    • スクリプトが利用者のブラウザで実行される記述を探す → が一致。
    • サーバのOS操作、パスワードの使い回し、マルウェア配布はそれぞれ別の攻撃(後述)なので除外。
  4. 以上よりが正しいと判断する。

選択肢別の誤答解説

  • :正解。「運営者が意図しないスクリプトを含むデータ」をそのまま利用者に返してしまう脆弱性を突く攻撃で、利用者のブラウザでスクリプトが実行されます。これがXSSの定義です。
  • イ:誤り。Webページの入力項目にOSの操作コマンドを埋め込んでサーバを不正操作する攻撃は、OSコマンドインジェクションやコマンド実行の脆弱性に該当します。XSSは「ブラウザでのスクリプト実行」が特徴で、直接サーバOSを操作するものではありません。
  • ウ:誤り。複数サイトで同じID/パスワードを使う習性を悪用する攻撃は「クレデンシャルスタッフィング」や「パスワードの使い回し」による不正ログインです。XSSとは目的や手法が異なります。
  • エ:誤り。利用者に偽の有用ソフトをインストールさせる手口は「マルウェア配布」や「トロイの木馬/ソーシャルエンジニアリング」に分類されます。XSSはブラウザ上でスクリプトを実行させる点が違います。

よくある誤解

  1. 「XSSはサーバを壊す攻撃だ」
    誤解です。XSSの主な被害は利用者側(ブラウザ)の情報盗難やページの見た目・動作改ざんであり、サーバ自体を直接破壊するものではありません。
  2. 「HTTPSならXSSは防げる」
    HTTPSは通信の盗聴や改ざんを防ぎますが、サイト自身が悪意あるスクリプトを返してしまう脆弱性(XSS)を防ぐものではありません。入力の扱い方が重要です。
  3. 「サニタイズ(無害化)だけで完全に安心」
    入力の無害化(サニタイズ)や出力時のエスケープ(特殊文字を安全に変換する処理)は重要ですが、脆弱な箇所を見落とすと防げない場合があります。多層防御が必要です。

補足コラム

  • XSSの種類(簡単な説明)
    • ストアドXSS(保存型):攻撃スクリプトがサーバ側に保存され、閲覧者全員に配信される。掲示板やコメント欄で危険。
    • リフレクトXSS(反射型):攻撃スクリプトがURLやフォームに含まれ、特定のリクエストでのみ実行される。メールや偽リンクで誘導されることが多い。
    • DOMベースXSS:ページ上のJavaScriptが入力を直接扱う際に起きる。ページ内の動的処理に原因がある。
  • 防御の基本対策(用語説明を含む)
    • 入力検証(バリデーション):入力データが期待どおりかチェックすること。
    • 出力エスケープ(エスケープ処理):HTMLでは特殊文字を安全な形に変換して表示すること(例:< を < にする)。
    • コンテンツセキュリティポリシー(CSP: Content Security Policy、ページで許可するスクリプトやリソースを制限する仕組み)を設定する。
  • 実例(単純な攻撃例)
    • 攻撃者がコメント欄に次のようなタグを投稿すると、閲覧者のブラウザでスクリプトが実行されます。
      <script>alert('XSS')</script>
      
    • 運営側がこの入力をそのままページに表示すると、閲覧者のブラウザでアラートが出ます。実際の攻撃はこれよりずっと悪質です(クッキー窃取や誘導など)。

FAQ

Q1: XSSで盗まれる情報は何ですか?
A1: よく狙われるのはブラウザで管理されるクッキー(ログイン情報など)や、ページ上の個人情報、フォーム入力内容です。盗んだ情報で不正ログインや詐欺に使われます。
Q2: 開発者として何をすればよいですか?
A2: 入力は検証し、出力時に適切なエスケープを行うこと。さらにCSPを導入し、多層で対策することが重要です。
Q3: 一般ユーザとしてできる対策は?
A3: 不審なリンクをクリックしない、信頼できないサイトにログイン情報を入力しない、ブラウザと拡張機能を最新に保つことが有効です。加えて、サイトに入力する際は内容を確認する習慣を持つとよいです。

関連キーワード: クロスサイトスクリプティング、XSS、入力検証、出力エスケープ、CSP、ストアドXSS、リフレクトXSS、DOMベースXSS、サニタイズ、マルウェア、コマンドインジェクション、クレデンシャルスタッフィング
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について