セキュア実装

情報セキュリティマネジメント試験Webアプリで利用者入力を画面に出力する際、スクリプトの実行を防ぐために行うべき処理はどれか

情報セキュリティ対策・実装技術セキュア実装難易度:normal
Webアプリで利用者入力を画面に出力する際、スクリプトの実行を防ぐために行うべき処理はどれか。
通信経路を暗号化して入力や出力の盗聴を防ぐための処理を行う。
出力時に特殊文字をエスケープしてブラウザにスクリプトと解釈させないようにする処理。
データベースへの問合せを並列化して画面表示までの応答時間を短縮し、処理を高速化するための処理を行う。
利用者のログイン失敗回数を数えて、一定回数を超えた時点でアカウントを一時的に凍結するための処理を行う。
正解
イ.出力時に特殊文字をエスケープしてブラウザにスクリプトと解釈させないようにする処理。

XSSは入力に含まれるスクリプトがそのまま出力され実行されることで起きるため、出力時に<や>等をHTMLエンティティへ変換(エスケープ)し、ブラウザにタグと解釈させないことが根本対策となる。

?選択肢ごとの解説

ア ×通信暗号化は盗聴対策であり、出力に混入したスクリプトの実行を防ぐXSS対策とは目的が異なる。
イ ○XSSは入力に含まれるスクリプトがそのまま出力され実行されることで起きるため、出力時に<や>等をHTMLエンティティへ変換(エスケープ)し、ブラウザにタグと解釈させないことが根本対策となる。
ウ ×問合せの並列化は性能改善で、出力エスケープによりスクリプト実行を防ぐXSS対策とは無関係である。
エ ×失敗回数による凍結は不正ログイン対策で、出力時のサニタイズを行うXSS対策とは別の論点である。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

情報セキュリティマネジメント試験は全3,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

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

作成・校閲:ukamiru編集部 · 情報セキュリティマネジメント試験 過去問 · sg-a3-w2-0006

【情報セキュリティマネジメント試験】Webアプリで利用者入力を画面に出力する際、スクリプトの実行…|正解「出力時に特殊文字をエスケープ…」|ukamiru 過去問