修了試験 2011-07-24実施分 基本情報技術者試験 問44
SQLインジェクション攻撃を防ぐ方法はどれか。
正答2
解説
正解は2です。 SQLインジェクション攻撃への対策を問う問題です。 SQLインジェクションは、入力欄に不正なSQLの断片を入れ、データベースに意図しない命令を実行させる攻撃です。 【選択肢別解説】 1:× 上位ディレクトリを指す「../」を取り除くのは、ディレクトリトラバーサル攻撃への対策です。 2:○ 入力中の「'」などの文字が、SQLの構文として特別な意味をもたないようにエスケープ処理をします。 プレースホルダ(バインド機構)を使うことも有効です。 こうすると入力がSQL文の一部として解釈されず、攻撃を防げます。 3:× HTMLタグを無害な文字列に置き換えるのは、クロスサイトスクリプティング(XSS)への対策です。 4:× 入力の長さを制限するのは、バッファオーバフロー攻撃などへの対策です。 短い入力でもSQLインジェクションは成立するため、根本的な対策にはなりません。 【ポイント】 SQLインジェクション対策の基本は、プレースホルダの利用とエスケープ処理です。 攻撃の種類と対策の組合せは、XSSやディレクトリトラバーサルと区別して覚えましょう。まとめて解く
修了試験 2011-07-24実施分を通しで解く(80問)→