基本情報技術者試験 平成25年度 春期 午前 問40「SQLインジェクション攻撃を防ぐ方法はどれか。…」の正解と解説です。基本情報技術者試験の「攻撃手法」分野の過去問で、これまでの受験者の正答率は約56%です。
ア. 入力中の文字がデータベースへの問合せや操作において,特別な意味をもつ文字として解釈されないようにする。
正答率 56.3%(1,395人中 785人が正解)
SQLインジェクションは入力された文字列に含まれる引用符などのSQL特殊文字をそのままSQL文に連結することで攻撃が成立します。対策は特殊文字をエスケープしたり、プレースホルダ(プリペアドステートメント)を使って、入力をSQL文の構文要素として解釈させないことです。よってアが正解です。