基本情報技術者平成27年秋期 午前問42

問42

SQLインジェクション攻撃を防ぐ方法はどれか。
  • 入力中の文字がデータベースへの問合せや操作において,特別な意味をもつ文字として解釈されないようにする。
  • 入力にHTMLタグが含まれていたら,HTMLタグとして解釈されない他の文字列に置き換える。
  • 入力に上位ディレクトリを指定する文字(../)を含まれているときは受け付けない。
  • 入力の全体の長さが制限を超えているときは受け付けない。
  • [出題歴]
  • 基本情報技術者 H25春期 問40
  • 基本情報技術者 H30春期 問41
  • ソフトウェア開発技術者 H20秋期 問73

分類

テクノロジ系 » セキュリティ » セキュリティ実装技術

正解

解説

SQLインジェクション攻撃は、ユーザーからの入力をもとにSQL文を組み立てるウェブアプリケーションのセキュリティ上の不備を悪用して、データベースシステムを不正に操作するSQL文を発行させ、情報の不正取得やデータベースの破壊を行う攻撃です。SQLインジェクションを防ぐには、ユーザーの入力値の中でSQLにおいて特別な意味を持つ文字(単一引用符「'」やバックスラッシュ「\」など)を、無効化してからSQL文に組み込むことが重要かつ効果的な対策となります。

したがって「ア」が適切です。
  • 正しい。SQLインジェクション攻撃を防ぐ方法です。
  • クロスサイトスクリプティング(XSS)を防ぐ方法です。
  • ディレクトリトラバーサル攻撃を防ぐ方法です。
  • バッファオーバーフロー攻撃を防ぐ方法です。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop