株式会社BlueAI は 2026年度 IT導入支援事業者に採択されました 詳しく見る
BlueAI セキュリティ

攻撃手法・初期侵入

SQLインジェクション

SQLインジェクション(別名 SQLi)は、データベースと連携するWebアプリケーションが、利用者からの入力をそのままデータベースへの命令の一部として扱ってしまう弱点を突く手口です。

  1. 初期侵入
  2. 実行
  3. 横展開
  4. 窃取
  5. 影響

要点

  • 段階 攻撃が進む段階のうち「初期侵入」で使われます。MITRE ATT&CK の手口番号は T1190 です。
  • 記録 このサイトの記録では、事例 1 件とハッカーグループ 0 組に出てきます。
  • 最初の対策 SQL文の組み立てにはプレースホルダ(バインド機構)を用い、入力値を命令文に直接連結しない。

入力と命令の境界があいまいなまま処理されると、攻撃者が命令の意味を書き換えられてしまう。データベースを使うWebサイトであれば業種を問わず起こりうる。

攻撃の流れ

  1. 1Webアプリケーションが、利用者が入力した値を十分な処理をせずにデータベースへの命令文に組み込んでしまう
  2. 2攻撃者は入力欄やパラメーターに細工した値を送り、本来意図されていなかった命令としてデータベースに解釈させる
  3. 3成立すると、データベースに蓄積された非公開情報の閲覧や、情報の改ざん消去、認証を経ない不正ログインにつながる
  4. 4データベースの権限設定によっては、そこからさらにサーバー上での操作にまで発展することがある

気づくための兆候

  • アプリケーションのログに、通常の利用では現れない長さや記号を含むパラメーターが記録される
  • データベースのエラーメッセージが利用者の画面にそのまま表示される
  • 同じ利用者や同じIPアドレスから、短時間に多数の異なるパラメーターパターンでアクセスがある
  • データベースサーバーからの通常と異なる大量の読み出しや外向き通信が発生する

対策

  • SQL文の組み立てにはプレースホルダ(バインド機構)を用い、入力値を命令文に直接連結しない

  • データベースのエラーメッセージを利用者のブラウザに表示しない

  • Webアプリケーションが使うデータベースアカウントの権限を必要最小限にする

  • Webアプリケーションファイアウォールを導入し、異常なパラメーターを遮断する

  • 公開前後にWebサイトの脆弱性診断を定期的に実施する

関係するページ

手口、グループ、事例のつながりは、収録データの記録だけから引いています。

関係するグループ

収録データにはまだ出ていない

関係する事例

出典

最終確認日 (2026年10月24日)

監修 平原尚樹(株式会社BlueAI 代表取締役CEO、ソフトウェアエンジニア、Google Cloud Architect)