セキュリティ実装技術 (全73問中62問目)

No.62

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

分類

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

正解

解説

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

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

Pagetop