本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説:A社のFAQサイトでは、管理者が回答本文を登録し、利用者画面…

情報セキュリティ 難しい fe_b_v89_sec_003

問題

A社のFAQサイトでは、管理者が回答本文を登録し、利用者画面に表示している。本文には一部HTMLタグを許可しているが、属性値やURLの検査が不十分で、リンク属性にスクリプトを仕込むと閲覧者のブラウザで実行できることが分かった。

対策として、最も適切なものはどれか。

  1. 本文全体をBase64でエンコードしてDBに保存する。
  2. 管理者だけが登録できるため、HTMLの検査は行わない。
  3. 出力時に文脈に応じたエスケープを行い、許可タグ・属性・URLスキームをサニタイズで限定する。(正解)
  4. FAQ画面の背景色を変更する。
  5. CookieにHttpOnlyを付ければHTML出力の検査は不要である。
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

正解と解説

正解:出力時に文脈に応じたエスケープを行い、許可タグ・属性・URLスキームをサニタイズで限定する。

HTMLを一部許可する要件では、許可するタグ・属性・URLスキームを限定するサニタイズと、表示文脈に応じたエスケープが必要です。

Base64保存は表示時に復号すれば危険が戻ります。HttpOnlyは被害軽減策であり、XSSの実行自体を防ぐものではありません。

Hardでの見抜き方:HTMLを一部許可する場合、単純な入力禁止ではなく、表示文脈ごとのエスケープと許可リスト型サニタイズを組み合わせます。Cookie属性は被害軽減策で、画面上のスクリプト実行自体を止めるものではありません。

この事例の急所:本文がDBに保存され全閲覧者へ表示される点から、これは格納型(蓄積型)XSSに当たります。攻撃経路はリンク属性にjavascript:などのスキームを仕込む手口なので、タグの除去だけでなく許可するURLスキームをhttp/https等に限定することが要となります。HttpOnlyはCookie窃取を防ぐだけで、この実行自体は止められません。

他の選択肢はなぜ違う?

  • Base64保存は表示時に復号すれば危険が戻る。
  • 管理者だからと検査を省くと、登録内容にスクリプトが混ざれば閲覧者で実行される。
  • 背景色の変更はXSSと無関係。
  • HttpOnlyはCookie盗難の軽減策で、スクリプト実行自体は防げない。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

公開問題・サンプル問題のセキュリティ事例形式(A社シナリオ+もっともらしい誤答)を参考にした独自問題です。本文・選択肢・解説は新規作成しています。

公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。

参考範囲: 2026年度現行科目B・シラバスVer.9.x参考

参考文献・出典(公式情報)

RELATED

関連問題