ITパスポート試験 / 平成27年度 春期 ITパスポート試験 公開問題 / 問84
certification-simodake-work

平成27年度 春期 ITパスポート試験 公開問題 問84 解説 クロスサイトスクリプティング

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

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

解説

クロスサイトスクリプティング(XSS)を見抜くポイント

クロスサイトスクリプティング(XSS)の問題では、キーワードとして「スクリプト」「ブラウザ」「(ユーザーの)入力」という言葉がセットで出てくるかを確認しましょう。攻撃の主戦場はWebサーバそのものというよりも、Webサイトを閲覧する「利用者のブラウザ」です。

クロスサイトスクリプティング(XSS)の仕組み

XSSは、Webサイトに存在する「入力されたデータを適切に処理せずにそのまま表示してしまう」という脆弱性を突く攻撃です。

本来、Webサイトは利用者が入力した名前やコメントなどをそのまま画面に表示します。しかし、もし攻撃者が悪意のあるJavaScriptなどのスクリプトを入力欄に書き込み、それをWebサーバがチェックせずに保存・表示してしまうと、そのページを見た他の利用者のブラウザ上で、そのスクリプトが実行されてしまいます。

これにより、利用者のブラウザに保存されているCookieが盗まれたり、偽のログイン画面に誘導されたりといった被害が発生します。

他の選択肢が指す攻撃手法

試験では、よく似た名称の攻撃手法と混同させようとする問題が出題されます。今回の選択肢もITパスポートの頻出用語ばかりです。

イの「OSの操作コマンドを埋め込む」攻撃はOSコマンドインジェクションです。これはWebページを閲覧する利用者が被害に遭うのではなく、Webサーバそのものに対してOSレベルの不正なコマンドを実行させ、サーバーを乗っ取ろうとする攻撃です。

ウの「複数のWebサイトで同じログインIDとパスワードを使う習性を悪用する」攻撃は、パスワードリスト攻撃の一部に関連する手口です。過去に漏洩したIDとパスワードのリストを使って、他のサイトへ不正ログインを試みる手法を指します。

エの「有用なソフトに見せかけて悪意のあるソフトをインストールさせる」攻撃は、トロイの木馬やソーシャルエンジニアリングの一種です。ユーザーを騙してウイルスを実行させる手法を指しています。

この知識が実務で役に立つ理由

エンジニアやWebサイトの運営者にとって、XSS対策は必須の基礎知識です。Webアプリケーションを作る際、ユーザーからの入力を受け取って画面に表示する箇所すべてにおいて「サニタイズ(無害化)」や「エスケープ処理」を行うことが求められます。

例えば、HTMLのタグである「<」や「>」をそのまま表示させず、プログラム側で「<」「>」といった文字に変換する処理を実装します。この仕組みを知っておくことで、Webサイトが安全に設計されているかを判断する視点が養われます。また、利用者としても、不審なリンクや見知らぬポップアップには注意を払うというセキュリティ意識につながります。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう