情報セキュリティの基礎

掲示板のWebアプリケーションで、利用者が投稿した文章の中のスクリプトが、ほかの閲覧者のブラウザで実行されてしまう脆弱性があった。この脆弱性の名前と、根本的な対策の組み合わせとして正しいものはどれか。

  1. ASQLインジェクション。データベースへの接続に使うパスワードを長くする
  2. Bクロスサイトスクリプティング(XSS)。投稿された文章をHTMLとして出力するときに、< や > などの特別な意味をもつ文字をエスケープする
  3. Cクロスサイトスクリプティング(XSS)。サーバとブラウザの間の通信をHTTPSで暗号化する
答えと解説を見る

正解:B. クロスサイトスクリプティング(XSS)。投稿された文章をHTMLとして出力するときに、< や > などの特別な意味をもつ文字をエスケープする

クロスサイトスクリプティング(XSS)は、Webアプリケーションが、利用者の入力をそのままHTMLの中に出力するために、入力に含まれたスクリプトがページの一部として閲覧者のブラウザで実行されてしまう脆弱性です。スクリプトは、そのサイトのページとして動くので、閲覧者のセッションの情報(Cookie)を盗んだり、偽の入力欄を表示したりするおそれがあります。根本的な対策は、出力する場所に応じて、< や > や & や引用符のような特別な意味をもつ文字をエスケープ(例えば < を &lt; に変換)して、ただの文字として表示させることです。補助的な対策として、CookieにHttpOnly属性を付けてスクリプトから読めないようにしたり、コンテンツセキュリティポリシーで実行できるスクリプトを制限したりします。HTTPSは通信路を守るもので、正規のページに埋め込まれたスクリプトの実行は防げません。

  • A. スクリプトがブラウザで実行されるのはSQLインジェクションではありません。また、接続のパスワードを長くしても関係がありません。
  • B. 正しい。入力をそのまま出力したことが原因なので、出力のときのエスケープが根本的な対策です。
  • C. 名前は正しいですが、HTTPSは通信路を守るもので、正規のページに埋め込まれたスクリプトの実行は防げません。
この分野を解く 分野ページへ

関連する計算ツール

情報セキュリティの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

情報セキュリティの基礎のほかの問題

  1. Webアプリケーションで、ログインしたままの利用者が攻撃者の用意した罠のページを開くと、利用者のブラウザから正規のサイトへ、利用者の意図しない送金や設定の変更のリクエストが送られてしまう脆弱性がある。この脆弱性への対策として適切なものはどれか。
  2. Webアプリケーションが、URLのパラメータで指定されたファイル名を、公開用のフォルダの名前とつなげて読み出して表示している。ファイル名に ../ を含む値を指定されると、公開用のフォルダの外にある設定ファイルなどを読み出されてしまう。この攻撃の名前と対策の組み合わせとして正しいものはどれか。
  3. Webアプリケーションで、ログインの前と後で同じセッションIDを使い続けていると、攻撃者があらかじめ用意したセッションIDを利用者に使わせ、利用者がログインした後にそのIDで利用者になりすますおそれがある。この攻撃への対策として最も適切なものはどれか。
  4. DDoS攻撃の説明として正しいものはどれか。
  5. ゼロデイ攻撃の説明として正しいものはどれか。