もう少し詳しく
SQLインジェクション(SQL Injection)は、Webアプリケーションとデータベース管理システム(DBMS)の隙間を突く、代表的かつ強力なサイバー攻撃手法です。データベースと通信する多くのWebシステムは、ユーザーがフォームに入力した値(例えば顧客IDや商品カテゴリー名など)を動的にSQL文に組み込んで実行します。しかし、プログラムがその入力値の形式を制限しなかったり、文字列のエスケープ(無害化)を怠ったりしていると、入力値そのものが「SQL文の構造」を勝手に書き換えてしまいます。
この攻撃が成功すると、データベースの内部データがすべて流出する(機密性の侵害)、データが書き換えられる・削除される(完全性の侵害)、あるいはDBMSそのもののコマンド実行機能を通じてサーバー自体が乗っ取られるなど、致命的なセキュリティインシデントに直結します。
技術的な被害シナリオには、以下のようなものがあります。