過去問解きまくり研究所 ホーム

平成27年度 秋期 午前 問42

セキュリティ

SQLインジェクションの問題

SQL インジェクション攻撃を防ぐ方法はどれか。

答えと解説を見る

✓ これが正解ア入力中の文字がデータベースへの問合せや操作において,特別な意味をもつ文字として解釈されないようにする。

解説

問合せ文として解釈される文字を無害な形に直します。

SQL インジェクションは、利用者から受け取った文字がデータベースへの問合せの中でそのまま組み立てられ、指令の意味をもつ文字として解釈されてしまうところに原因があります。したがって防ぐ側の考え方は、受け取った文字が指令の一部として振る舞えない形に直したうえで組み立てることです。見分けるときの軸は二つです。一つ目は、対策の対象が問合せ文の組み立て段そのものに向いているか、それとも別の入口の弱さを塞ぐものか。二つ目は、対処が文字の意味を無害な扱いに変える手当てになっているか、それとも受け付けの拒絶で済ませているかです。攻撃の入口はいくつもあり、それぞれ別の対策が用意されています。名前が似ていても対象の入口が違えば効きません。設問は、指令の一部として解釈される文字を無害化する手当てを求めています。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成27年度 秋期 基本情報技術者試験 午前 問42

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)