予想問題vol.4 問7
問7
SQLインジェクション攻撃を防ぐ方法はどれか。
- 入力中の文字がデータベースへの問合せや操作において,特別な意味をもつ文字として解釈されないようにする。
- 入力にHTMLタグが含まれていたら,HTMLタグとして解釈されない他の文字列に置き換える。
- 入力に,上位ディレクトリを指定する文字(../)を含むときは受け付けない。
- 入力の全体の長さが制限を越えているときは受け付けない。
- [出典]
- 基本情報技術者 H27秋期 問42
分類
テクノロジ系 » セキュリティ » セキュリティ実装技術
正解
ア
解説
SQLインジェクション攻撃は、データベースを扱うアプリケーションのセキュリティ上の不備を悪用して、データベースシステムを不正に操作するSQL文を発行させる攻撃手法です。これを防ぐにはユーザーの入力値の中で、SQLにおいて特別な意味を持つ文字(単一引用符「'」やバックスラッシュ「\」など)を、無効化してからSQL文に組み込むことが重要かつ効果的な対策となります。
- 正しい。SQLインジェクション攻撃を防ぐ方法です。
- クロスサイトスクリプティング(XSS)を防ぐ方法です。
- ディレクトリトラバーサル攻撃を防ぐ方法です。
- バッファオーバーフロー攻撃を防ぐ方法です。