【線路主任技術者】過去問準拠 予想演習 問056 解説|思考ルート
Webアプリケーションにおけるセキュリティ対策に関して、SQLインジェクション脆弱性とクロスサイトスクリプティング(XSS)脆弱性の防御機構に関する記述の正誤の組み合わせとして、最も適切なものはどれか。なお、記述アからウ
※本問は、過去の出題傾向・頻出論点をAI分析して作成した「過去問準拠の予想演習問題」です。
予想演習 No.056
Webアプリケーションにおけるセキュリティ対策に関して、SQLインジェクション脆弱性とクロスサイトスクリプティング(XSS)脆弱性の防御機構に関する記述の正誤の組み合わせとして、最も適切なものはどれか。なお、記述アからウは以下の通りである。
ア. データベース連携を行うWebアプリケーションにおいて、SQLインジェクションを防止するための根本的かつ効果的な対策としては、入力値に含まれる特殊文字のエスケープ処理に依存するだけでなく、プレースホルダ(変数プレースホルダ)を用いた静的クエリの実行やパラメータ化クエリを採用することが不可欠である。 イ. Webページに動的に出力されるユーザからの入力値がブラウザ上で不正なスクリプトとして実行されるのを防ぐ(クロスサイトスクリプティング対策)には、SQLインジェクション対策と同様にプレースホルダによるバインド処理を徹底すれば十分である。 ウ. クロスサイトスクリプティング(XSS)に対する有効な防御策としては、HTML出力を行う際に特殊文字(<や>や&など)を無害な実体参照や別文字列に置換するエスケープ処理を確実に行うことが原則となる。
- ア:正しい イ:正しい ウ:正しい
- ア:正しい イ:誤り ウ:誤り
- ア:正しい イ:誤り ウ:正しい
- ア:誤り イ:正しい ウ:正しい
選択肢
ア:正しい イ:正しい ウ:正しい
ア:正しい イ:誤り ウ:誤り
ア:正しい イ:誤り ウ:正しい
ア:誤り イ:正しい ウ:正しい
正解と解説(思考ルート)
【正解】 選択肢 3
■【設問の意図と背景】
Webアプリケーションにおける代表的な脆弱性と、それぞれの攻撃メカニズムに応じた適切な防御機構(プレースホルダとエスケープ処理)の役割分担を正しく理解しているかを問う。
■【正解の根拠とメカニズム】
SQLインジェクションはデータベースのSQL構文解釈の不備を突くものであり、変数プレースホルダを用いてデータとクエリ構造を完全に分離して実行するのが根本的対策である。一方、クロスサイトスクリプティング(XSS)はブラウザがHTMLとして誤解釈することに起因するため、出力値の特殊文字をエスケープ処理することが必須である。したがってアとウが正しく、イは対策の混同により誤りとなる。
■【各選択肢の徹底検証】
・選択肢1:イの記述がプレースホルダとXSSの対策を混同しているため不適切。
・選択肢2:ウが正しいにもかかわらず誤りとしているため不適切。
・選択肢3:ア(SQLインジェクション対策としてのプレースホルダ)およびウ(XSS対策としてのエスケープ処理)が適切であり、イが誤りであるためこれが正解。
・選択肢4:アが正しい記述であるにもかかわらず誤りとしているため不適切。
■【本番での即断ポイント】
プレースホルダはSQLインジェクション対策、エスケープ処理はクロスサイトスクリプティング(XSS)対策と明確に紐付けて判断する。
スマホで全100問をランダム演習・弱点管理しませんか?
「思考ルート」のWeb演習アプリなら、線路主任技術者をはじめとする難関資格の過去問準拠・予想演習を、スマホやPCで100問まで完全無料でお試し演習できます。