SQLインジェクション
読み: エスキューエルインジェクション / 英語: SQL Injection
概要
Webアプリケーションの入力欄にSQL文を挿入して、データベースを不正に操作する攻撃。
詳細解説
SQLインジェクションはWebアプリケーションの代表的な脆弱性です。
攻撃例
ログイン画面で以下を入力:
ユーザ名: ' OR 1=1 --
パスワード: (何でもOK)
→ SQL文が SELECT * FROM users WHERE name='' OR 1=1 --' に変化し、全ユーザでログイン可能に。
対策
- プレースホルダ(バインド変数): SQL文とデータを分離
- エスケープ処理: 特殊文字を無害化
- WAFの導入: 不正なリクエストを検知・遮断
- 最小権限の原則: DBユーザに必要最小限の権限のみ付与
この記事は「SQLインジェクション」についての用語解説です。学習の参考にしてください。