SQLインジェクション攻撃による被害を防ぐ方法はどれか。
SQLインジェクション対策は入力を値としてのみ扱うこと
選択肢
- ア入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
- イ入力にHTMLタグが含まれていたら、HTMLタグとして解釈されない他の文字列に置き換える。
- ウ入力に上位ディレクトリを指定する文字列(../)が含まれているときは受け付けない。
- エ入力の全体の長さが制限を超えているときは受け付けない。
正解と解説
正解:ア 入力された文字が、データベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
SQLインジェクションは、入力値に含まれた引用符などの記号がSQL文の一部として解釈されることで、意図しない問合せが実行される攻撃である。対策は、プレースホルダの利用やエスケープ処理によって、入力文字をあくまで値として扱い特別な意味をもたせないことである。
選択肢ごとの解説
- ア入力文字がSQLの特別な意味をもつ記号として解釈されないようにする、正しい対策。
- イHTMLタグの無害化はクロスサイトスクリプティングへの対策。
- ウ「../」の排除はディレクトリトラバーサルへの対策。
- エ長さ制限はバッファオーバフロー対策で、根本的な防止にはならない。
この問題は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/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。