応用情報技術者 2010年 春期 午前2 問43
問題文
SQLインジェクションの説明はどれか。
選択肢
ア:Webアプリケーションに悪意のある入力データを与えてデータベースの問合せや操作を行う命令文を組み立てて、データを改ざんしたり不正に情報取得したりする攻擊(正解)
イ:悪意のあるスクリプトが埋め込まれた Webページを訪問者に閲覧させて、別のWebサイトで、その訪問者が意図しない操作を行わせる攻撃
ウ:市販されているデータベース管理システムの脆弱性を利用して、宿主となるデータベースサーバを探して自己伝染を繰り返し、インターネットのトラフィックを急増させる攻撃
エ:訪問者の入力データをそのまま画面に表示する Webサイトに対して、悪意のあるスクリプトを埋め込んだ入力データを送り、訪問者のブラウザで実行させる攻撃
SQLインジェクションの説明 +【午前2 解説】
要点まとめ
- 結論:SQLインジェクションは、悪意ある入力でSQL文を不正に操作し、データ改ざんや情報漏洩を引き起こす攻撃です。
- 根拠:Webアプリケーションが入力値を適切に検証せずにSQL文に組み込むことで、攻撃者が任意のSQL命令を実行可能になるためです。
- 差がつくポイント:SQLインジェクションはデータベース操作に直接影響を与える攻撃であり、スクリプト実行やトラフィック増加とは異なる点を正確に理解しましょう。
正解の理由
選択肢アは、SQLインジェクションの本質を正確に表現しています。Webアプリケーションに悪意のある入力を与え、SQL文を不正に組み立ててデータベースの問合せや操作を行い、データの改ざんや不正な情報取得を可能にする攻撃だからです。
よくある誤解
SQLインジェクションはスクリプトの実行やブラウザ操作を狙う攻撃ではなく、データベースの問合せ文を悪用する攻撃です。混同しやすいので注意が必要です。
解法ステップ
- 問題文の「SQLインジェクション」という用語の意味を確認する。
- 選択肢の説明がSQL文の不正操作に関するものかを見極める。
- Webアプリケーションの入力値がSQL文に影響を与える点に注目する。
- 他の選択肢がスクリプト攻撃やネットワーク攻撃であることを確認し除外する。
- SQL文の組み立てを悪用する選択肢アを正解と判断する。
選択肢別の誤答解説
- イ:クロスサイトリクエストフォージェリ(CSRF)に関する説明で、SQLインジェクションとは異なります。
- ウ:データベースサーバを狙った自己伝染型攻撃であり、SQL文の不正操作とは無関係です。
- エ:クロスサイトスクリプティング(XSS)攻撃の説明で、SQLインジェクションとは攻撃対象や手法が異なります。
補足コラム
SQLインジェクション対策には、プリペアドステートメントの利用や入力値のエスケープ、ホワイトリストによる検証が有効です。これにより、攻撃者がSQL文を意図的に操作するリスクを大幅に減らせます。
FAQ
Q: SQLインジェクションはどのような被害をもたらしますか?
A: データの改ざん、削除、不正な情報取得など、データベースの機密性や完全性が損なわれます。
A: データの改ざん、削除、不正な情報取得など、データベースの機密性や完全性が損なわれます。
Q: SQLインジェクションとXSSの違いは何ですか?
A: SQLインジェクションはデータベース操作を狙う攻撃、XSSはブラウザ上で悪意あるスクリプトを実行させる攻撃です。
A: SQLインジェクションはデータベース操作を狙う攻撃、XSSはブラウザ上で悪意あるスクリプトを実行させる攻撃です。
関連キーワード: SQLインジェクション、Webアプリケーションセキュリティ、データベース攻撃、プリペアドステートメント、クロスサイトスクリプティング

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

