情報セキュリティ

基本情報技術者試験N社の掲示板サービスで、利用者が投稿した内容をそのままWebページに表示している。ある投稿を閲覧した別の利用者の…

情報セキュリティ情報セキュリティ難易度:hard
N社の掲示板サービスで、利用者が投稿した内容をそのままWebページに表示している。ある投稿を閲覧した別の利用者のブラウザ上で、投稿に仕込まれたスクリプトが実行され、Cookieが外部へ送信される事象が起きた。この問題への根本対策として、最も適切なものはどれか。
投稿の保存時にscriptという語を含む文字列を検出して除去する。
表示時に出力先の文脈に応じて特殊文字を実体参照へ変換する。
投稿者ごとに一日あたりの投稿可能件数の上限を設けて運用する。
ページ全体の表示処理に外部のWAF製品を導入して通信を監視する。
正解
イ.表示時に出力先の文脈に応じて特殊文字を実体参照へ変換する。

原因は『投稿内容を無加工でHTMLに出力している』ことである。表示(出力)時に、出力先の文脈に応じて<や>、&などの特殊文字をHTMLの実体参照(エンティティ)へ変換すれば、投稿に含まれるスクリプトはタグではなく単なる文字列として表示され、ブラウザ上で実行されなくなる。これがXSSの根本対策である。

?選択肢ごとの解説

ア ×scriptという語の除去はブラックリスト的対策で、別タグやイベント属性、エンコードによる回避が容易で、注入経路を網羅できない。
イ ○原因は『投稿内容を無加工でHTMLに出力している』ことである。表示(出力)時に、出力先の文脈に応じて<や>、&などの特殊文字をHTMLの実体参照(エンティティ)へ変換すれば、投稿に含まれるスクリプトはタグではなく単なる文字列として表示され、ブラウザ上で実行されなくなる。これがXSSの根本対策である。
ウ ×投稿件数の上限は投稿の量を抑えるだけで、一件の投稿に仕込まれたスクリプトが閲覧者の画面で実行される事実を変えない。
エ ×WAFは既知パターンの検知に有用だが網羅性に限界があり、未知の変形を取りこぼすため、出力時の無害化に代わる根本対策にはならない。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-sec-0014

【基本情報技術者試験】N社の掲示板サービスで、利用者が投稿した内容をそのままWeb…|正解「表示時に出力先の文脈に応じて…」|ukamiru 過去問