修了試験 2022-12-11実施分 基本情報技術者試験 問41
SQLインジェクション攻撃による被害を防ぐ方法はどれか。
正答1
解説
正解は1です。 SQLインジェクションは、入力欄に不正なSQLの断片を入力し、データベースを不正に操作する攻撃です。 入力された文字列がSQL文の一部として解釈されてしまうことが原因です。 【選択肢別解説】 1:○ SQLインジェクションの対策です。 プレースホルダ(バインド機構)を使ったり、引用符などの特別な意味をもつ文字をエスケープしたりします。 これにより、入力がSQL文の構造を変えないようにします。 2:× HTMLタグを無害な文字列に置き換えるのは、クロスサイトスクリプティングの対策です。 SQLインジェクションの対策ではありません。 3:× 上位ディレクトリを示す「../」を受け付けないのは、ディレクトリトラバーサルの対策です。 SQLインジェクションの対策ではありません。 4:× 入力の長さの制限は、バッファオーバフローなどへの対策として用いられます。 短い文字列でもSQLインジェクションは成立するので、十分な対策になりません。 【ポイント】 攻撃の名前と対策の組合せ(SQLインジェクションとプレースホルダ、XSSとエスケープ、ディレクトリトラバーサルとパス検査)を整理しておきましょう。まとめて解く
修了試験 2022-12-11実施分を通しで解く(80問)→