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

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

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

問題文

SQLインジェクション攻撃の説明として,適切なものはどれか。

この問題の出題ポイント

  • SQLインジェクションの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: 攻撃手法。

選択肢

  1. Webアプリケーションのデータ操作言語の呼出し方に不備がある場合に,攻撃者が悪意をもって構成した文字列を入力することによって,データベースのデータの不正取得,改ざん及び削除をする攻撃正解
  2. Webサイトに対して,他のサイトを介して大量のパケットを送り付け,そのネットワークトラフィックを異常に高めてサービスを提供不能にする攻撃
  3. 確保されているメモリ空間の下限又は上限を超えてデータの書込みと読出しを行うことによって,プログラムを異常終了させたりデータエリアに挿入された不正なコードを実行させたりする攻撃
  4. 攻撃者が罠を仕掛けたWebページを利用者が閲覧し,当該ページ内のリンクをクリックしたときに,不正スクリプトを含む文字列が脆弱なWebサーバに送り込まれ,レスポンスに埋め込まれた不正スクリプトの実行によって,情報漏えいをもたらす攻撃

正解

: Webアプリケーションのデータ操作言語の呼出し方に不備がある場合に,攻撃者が悪意をもって構成した文字列を入力することによって,データベースのデータの不正取得,改ざん及び削除をする攻撃

解説

SQLインジェクションはWebアプリの入力検証不備を突き、悪意あるSQL断片を入力に混入してDBを不正操作する攻撃です。

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

  • ア(正解)

    SQL文への文字列混入による不正DB操作=SQLインジェクションの定義。

  • これは DDoS 攻撃の説明です。

  • これはバッファオーバーフローの説明です。

  • これはクロスサイトスクリプティング(XSS)の説明です。

解き方の整理

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

関連問題

前後の問題

平成28年度 春期 午前 の関連する問題

復習を続ける

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