SQLインジェクション攻撃による被害を防ぐ方法はどれか。
SQL文の制御記号として解釈させないのが根本対策
選択肢
- ア入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
- イ入力にHTMLタグが含まれていたら、HTMLタグとして解釈されない他の文字列に置き換える。
- ウ入力に上位ディレクトリを指定する文字列(../)が含まれているときは受け付けない。
- エ入力の全体の長さが制限を超えているときは受け付けない。
正解と解説
正解:ア 入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
SQLインジェクションは、入力値に含まれる引用符などの記号がSQL文の一部として解釈されてしまうことで起こる。対策は、入力された文字をSQLにとって特別な意味をもつ記号として扱わせないことであり、プレースホルダを使った問合せや適切なエスケープ処理がこれに当たる。HTMLタグの無害化はクロスサイトスクリプティング、上位ディレクトリ指定の拒否はディレクトリトラバーサルへの対策である。
選択肢ごとの解説
- ア正解。入力文字をSQLの制御記号として解釈させないようにする。
- イクロスサイトスクリプティングへの対策。
- ウディレクトリトラバーサルへの対策。
- エ長さ制限だけでは不正なSQL片の混入は防げない。
この問題は2回出題されています
- 2018年度 春期 午前 問41この問題の代表ページ
- 2022年度 公開問題 科目A 問36(このページ)
同じ分野の他の問題
- WAFの説明はどれか。2025年度 公開問題 科目A 問10
- SQLインジェクションの対策として、有効なものはどれか。2024年度 公開問題 科目A 問10
- ペネトレーションテストに該当するものはどれか。2024年度 公開問題 科目A 問9
- 図のような構成と通信サービスのシステムにおいて,Webアプリケーションの脆弱性対策のためのWAFの設置場所として,最も適…2023年度 公開問題 科目A 問10
- マルウェアの動的解析に該当するものはどれか。2019年度 秋期 午前 問36
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。