SQLインジェクション(SQL Injection)

SQLインジェクション(SQL Injection)とは、ひとことで言えば、Webアプリケーションの入力欄に悪意のあるSQL文を挿入し、データベースを不正に操作する攻撃手法です。たとえば、ログイン画面のユーザー名欄に「' OR '1'='1」と入力することで認証を回避したり、UNION句を使って他テーブルのデータを窃取したりします。Webアプリケーション攻撃の中でも最も古典的かつ依然として多発する脆弱性であり、個人情報の大量流出事件の原因として繰り返し報告されています。対策の基本はプリペアドステートメント(パラメータ化クエリ)の使用であり、入力値の検証やWAF(Web Application Firewall)の導入も併せて行うことが推奨されます。