修了試験 2019-07-28実施分 基本情報技術者試験 問41
SQLインジェクション攻撃による被害を防ぐ方法はどれか。
正答1
解説
正解は1です。 SQLインジェクションは、入力欄に不正なSQL文の断片を入れて、データベースを不正に操作する攻撃です。 対策は、入力値がSQL文の一部として解釈されないようにすることです。 【選択肢別解説】 1:○ 引用符などの特別な意味をもつ文字を無害化すれば、入力値がSQL文として解釈されません。 プレースホルダ(バインド機構)を使う方法が代表的な対策です。 2:× HTMLタグを別の文字列に置き換えるのは、クロスサイトスクリプティングへの対策です。 SQLインジェクションは防げません。 3:× 上位ディレクトリを指す「../」を拒否するのは、ディレクトリトラバーサルへの対策です。 SQLインジェクションは防げません。 4:× 入力の長さの制限は、バッファオーバフローなどへの補助的な対策です。 短い文字列でもSQL文は注入できるので、SQLインジェクションの根本対策になりません。 【ポイント】 攻撃名と対策の組合せは頻出です。 SQLインジェクションはSQLの特殊文字、XSSはHTMLの特殊文字の無害化(エスケープ)と覚えます。まとめて解く
修了試験 2019-07-28実施分を通しで解く(80問)→