用語集
SQL インジェクションえすきゅーえるいんじぇくしょん
Web フォーム等から SQL 文を注入して不正にデータベース操作する攻撃。
ITパスポート
SQL インジェクションは、Web フォームなどの入力欄に SQL文の断片を注入し、想定外のデータベース操作を行わせる攻撃です。
| 被害 | 対策 |
|---|---|
| 会員情報の漏えい | プレースホルダ(バインド変数) |
| データの改ざん・削除 | 入力値のエスケープ |
| 認証の回避 | 最小権限の DB アカウント・WAF |
たとえばログイン欄に特殊な文字列を入れて、本来見えないはずの会員データを引き出すような攻撃です。最も確実な対策はプレースホルダを使ったパラメータ化クエリで、入力値を SQL 文として解釈させないことです。
試験では SQL インジェクションが「入力欄に SQL を注入する攻撃」で、対策がプレースホルダ・入力値検証・WAF である点が問われます。