読み方: えすきゅーえるいんじぇくしょん
1行定義
Webアプリの入力フォームに悪意のあるSQL文を挿入し、データベースを不正操作する攻撃手法
詳細解説
SQLインジェクション(SQL Injection)は、WebアプリケーションがユーザーからのInput(検索フォーム・ログインフォーム等)をSQLクエリに直接埋め込む際に適切な検証・エスケープを行わない脆弱性を悪用し、攻撃者が意図したSQL文を挿入(インジェクト)してデータベースを不正操作する攻撃です。攻撃の具体例:ログインフォームのパスワード欄に「`' OR '1'='1`」を入力すると、SQLが「WHERE password='' OR '1'='1'」となり、常に真になってパスワードなしでログインできてしまいます。被害は個人情報の全件漏洩・ユーザーアカウントの乗っ取り・データの改ざん・削除、さらにDBサーバー経由での他システムへの横展開です。2020年代も最もよく悪用されるWeb脆弱性のトップクラスに挙げられ(OWASP Top 10でA03 Injection)、企業の大規模情報漏洩事件の原因として度々報告されます。対策はプリペアドステートメント(パラメータ化クエリ)の使用が最重要(入力値をSQL文字列として解釈させない)、加えてORMの活用・WAFによるフィルタリング・入力値バリデーション・最小権限のDBアカウントです。試験対策では「SQLインジェクションの仕組み」「プリペアドステートメントによる対策」を押さえておきます。
ITパスポートでの出題ポイント
- SQL文を直接入力可能な箇所に悪意のSQL文を挿入
- プリペアドステートメントが最重要対策(入力をSQL文と解釈させない)
- OWASP Top 10でトップクラスの危険な脆弱性
- DB内の個人情報全件漏洩・データ改ざん・削除が被害
関連用語
- SQL データベース
- XSS(クロスサイトスクリプティング) セキュリティ
- CSRF セキュリティ
- ファイアウォール セキュリティ
- バッファオーバーフロー セキュリティ
- WAF(Web Application Firewall) セキュリティ
- ディレクトリトラバーサル セキュリティ
- ゼロデイ攻撃 セキュリティ
「SQLインジェクション」の過去問を解いて理解を定着
合格ナビでは IPA 公式 600問 + 3段階の解説(初級・標準・上級) で「○○とは?」をその場で深掘りできます。
シラバス 6.5 準拠 / 最終更新: 2026-05-25
