基本情報技術者試験 過去問解説

SQLインジェクションとは?基本情報技術者試験 平成29年度 秋期 午前 問39を解説

基本情報技術者試験 平成29年度 秋期 午前 問39は、SQLインジェクションに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

SQLインジェクション攻撃の説明はどれか。

この問題の出題ポイント

  • SQLインジェクションの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • データベース分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: 攻撃手法、セキュリティ管理。

選択肢

  1. Webアプリケーションに問題があるとき,悪意のある問合せや操作を行う命令文をWebサイトに入力して,データベースのデータを不正に取得したり改ざんしたりする攻撃正解
  2. 悪意のあるスクリプトを埋め込んだWebページを訪問者に閲覧させて,別のWebサイトで,その訪問者が意図しない操作を行わせる攻撃
  3. 市販されているDBMSの脆弱性を悪用することによって,宿主となるデータベースサーバを探して感染を繰り返し,インターネットのトラフィックを急増させる攻撃
  4. 訪問者の入力データをそのまま画面に表示するWebサイトを悪用して,悪意のあるスクリプトを訪問者のWebブラウザで実行させる攻撃

正解

: Webアプリケーションに問題があるとき,悪意のある問合せや操作を行う命令文をWebサイトに入力して,データベースのデータを不正に取得したり改ざんしたりする攻撃

解説

SQLインジェクションは入力値検証不備のWebアプリに悪意あるSQL文断片を送り込み、DBの不正アクセス/改ざんを行う攻撃です。

なぜ他の選択肢が違うのか

  • ア(正解)

    SQL命令注入でDB不正操作=SQLインジェクションの定義。

  • これはCSRF/XSS系の説明。

  • これはSQL Slammer 等のワーム攻撃の説明。

  • これは反射型XSSの説明。

解き方の整理

SQLインジェクションの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

平成29年度 秋期 午前 の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。