安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
SQLインジェクション対策の本命は静的プレースホルダ
| 攻撃 | 対策 | |
|---|---|---|
| ア | SQLインジェクション | SQL文の組立てに静的プレースホルダを使用する。 |
| イ | クロスサイトスクリプティング | 任意の外部サイトのスタイルシートを取り込めるようにする。 |
| ウ | クロスサイトリクエストフォージェリ | リクエストにGETメソッドを使用する。 |
| エ | セッションハイジャック | 利用者ごとに固定のセッションIDを使用する。 |
選択肢
- アSQLインジェクション ─ SQL文の組立てに静的プレースホルダを使用する。
- イクロスサイトスクリプティング ─ 任意の外部サイトのスタイルシートを取り込めるようにする。
- ウクロスサイトリクエストフォージェリ ─ リクエストにGETメソッドを使用する。
- エセッションハイジャック ─ 利用者ごとに固定のセッションIDを使用する。
正解と解説
正解:ア SQLインジェクション ─ SQL文の組立てに静的プレースホルダを使用する。
SQLインジェクションの根本対策は、SQL文の骨格をあらかじめ確定させ、値を後から安全に埋め込むプレースホルダの利用である。特に静的プレースホルダはデータベースエンジン側でSQL文を先に構文解析するため、値に何が入っても構文が変化せず、確実に攻撃を防げる。他の三つは、外部リソースの無制限な取り込み、状態変更へのGETの使用、セッションIDの固定化と、いずれも脆弱性を招く実装である。
選択肢ごとの解説
- ア正解。SQL文の構造を先に確定させるため、値の内容によって構文が変わらない。
- イ外部サイトのスタイルシートを自由に取り込ませるのは、むしろ攻撃の余地を広げる。
- ウGETは副作用のない参照に使うべきで、CSRF対策にはトークンの照合が必要である。
- エセッションIDを固定すると窃取や推測により容易に乗っ取られる。ログイン時の再発行が定石である。
同じ分野の他の問題
- クロスサイトリクエストフォージェリ攻撃の対策として,効果がないものはどれか。2025年度 秋期 午前II 問16
- クリックジャッキング攻撃に有効な対策はどれか。2022年度 秋期 午前II 問11
- WAFにおけるフォールスポジティブに該当するものはどれか。2024年度 秋期 午前II 問12
- Webサーバから送信されるHTTPヘッダーのうち、Webサーバからの応答の内容を、Webブラウザやプロキシサーバなどのキ…2024年度 春期 午前II 問20
- HTTP Strict Transport Security(HSTS)の動作はどれか。2024年度 春期 午前II 問13
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。