WEBのあるページで日付を検索する入力項目があったとする。
検索のSQLが
SELECT name, date FROM sample_table WHERE date=’${date}’
だったとした場合、
「2017/08/01」のような、プログラムを書いた人が意図した条件であれば
SELECT name, date FROM sample_table WHERE date=’2017/08/01′
といった正しいクエリになるが、
「2017/08/01′ OR ‘1’ = ‘1」といった入力をされると
SELECT name, date FROM sample_table WHERE date=’2017/08/01’ OR ‘1’ = ‘1’
となり、すべての情報が取り出せることになる。
このような攻撃をSQLインジェクションと言う