Webアプリケーションにおけるセキュリティ上の脅威とその対策に関する記述のうち、適切なものはどれか。
SQLインジェクションはプレースホルダで構文と値を分離して防ぐ
選択肢
- アOSコマンドインジェクションを防ぐために、Webアプリケーションが発行するセッションIDに推測困難な乱数を使用する。
- イSQLインジェクションを防ぐために、Webアプリケーション内でデータベースへの問合せを作成する際にプレースホルダを使用する。
- ウクロスサイトスクリプティングを防ぐために、Webサーバ内のファイルを外部から直接参照できないようにする。
- エセッションハイジャックを防ぐために、Webアプリケーションからシェルを起動できないようにする。
正解と解説
正解:イ SQLインジェクションを防ぐために、Webアプリケーション内でデータベースへの問合せを作成する際にプレースホルダを使用する。
SQLインジェクションは、入力値がSQL文の構文として解釈されることで起こる。プレースホルダ(バインド機構)を用いれば、SQL文の構造を先に確定させてから値を後から埋め込むため、入力値が構文に影響を与えず根本的に防止できる。他の三つは脅威と対策の組合せが食い違っている。
選択肢ごとの解説
- アセッションIDの乱数化はセッションハイジャック対策で、OSコマンドインジェクション対策ではない。
- イ正しい。プレースホルダの使用はSQLインジェクションの根本対策である。
- ウファイルの直接参照を禁じるのはディレクトリトラバーサル対策で、XSS対策ではない。
- エシェル起動の禁止はOSコマンドインジェクション対策であり、セッションハイジャック対策ではない。
同じ分野の他の問題
- 格納型クロスサイトスクリプティング(Stored XSS又はPersistent XSS)攻撃に該当するものはどれか。2021年度 春期 午前II 問17
- 格納型クロスサイトスクリプティング(Stored XSS又はPersistent XSS)攻撃に該当するものはどれか。2018年度 秋期 午前II 問23
- 安全なWebアプリケーションの作り方について、攻撃と対策の適切な組合せはどれか。2016年度 秋期 午前II 問24
- ある企業でのリスク分析結果は次のとおりであった。情報漏えい対策のうち,事象Cの年間発生確率が最も低くなるものはどれか。こ…2025年度 春期 午前II 問17
- A社は,各種のサービスを複数のWebサイトで提供している。現在,利用者は,Webサイトにログインするたびに,そのサイト用…2025年度 春期 午前II 問3
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。