Una fallo de inyección de SQL (o SQL Injection en inglés) es ...
...es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o de script que esté incrustado dentro de otro.
Según estadísticas publicadas por WhiteHack Security, los fallos de inyección de SQL y otro tipo de vulnerabilidades afectan a un gran número de sitios web, por lo que el uso de herramientas automatizadas que detecten posibles problemas de seguridad son más que recomendables.
En Security-Hacks, han publicado una lista de herramientas destinadas a encontrar y explotar vulnerabilidades de inyección de SQL.
- SQLIer
- SQLbftools
- SQL Injection Brute-forcer
- SQLBrute
- BobCat
- SQLMap
- Absinthe
- SQL Injection Pen-testing Tool
- SQID
- Blind SQL Injection Perl Tool
- SQL Power Injector
- FJ-Injector Framwork
- SQLNinja
- Automagic SQL Injector
- NGSS SQL Injector
Para evitar este tipo de ataques se debe hacer uso de consultas parametrizadas o funciones que el lenguaje de programación provea para este fin, en lo posible no debemos reinventar la rueda y hacer funciones que algunas veces no sirven de nada.