テクノロジ系セキュリティ

SQLインジェクションとは?

読み方: えすきゅーえるいんじぇくしょん
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アカウントです。ITパスポートでは「SQLインジェクションの仕組み」「プリペアドステートメントによる対策」が頻出です。

ITパスポートでの出題ポイント

  • 1SQL文を直接入力可能な箇所に悪意のSQL文を挿入
  • 2プリペアドステートメントが最重要対策(入力をSQL文と解釈させない)
  • 3OWASP Top 10でトップクラスの危険な脆弱性
  • 4DB内の個人情報全件漏洩・データ改ざん・削除が被害

関連用語

SQL
データベース
XSS(クロスサイトスクリプティング)
セキュリティ
CSRF
セキュリティ
ファイアウォール
セキュリティ
バッファオーバーフロー
セキュリティ
WAF(Web Application Firewall)
セキュリティ
ディレクトリトラバーサル
セキュリティ
ゼロデイ攻撃
セキュリティ

SQLインジェクション」の過去問を解いて理解を定着

合格ナビでは IPA 公式 600問 + AI解説 で「○○とは?」をその場で深掘りできます。

シラバス 6.5 準拠 / 最終更新: 2026-05-25