imagen de: https://calebbucker.blogspot.com.co/2012/06/explotando-vulnerabilidades-de.html
DEFINICIÓN
Es un ataque producido mediante inserción de código malicioso dentro de una consulta en SQL, OS y LDAP, aprovechando la vulnerabilidad en el nivel de validación de entradas de operaciones generalmente en una base de datos
Igualmente en la Página https://pressroom.hostalia.com/white-papers/ataques-inyeccion-sql, explica claramente cómo se produce un ataque por inyección y algunos consejos de cómo evitarlos.
CÓMO IDENTIFICAR UNA VULNERABILIDAD
- Verificando que se separe la información no confiable del comando o consulta, usando variables parametrizadas en todas las sentencias preparadas y procedimientos almacenados, evitando las consultas dinámicas.
- Utilizar herramientas de análisis de códigos.
- Análisis dinámico automatizado en donde se detecta el ataque mediante manejo de errore
PREVENCIÓN
- Utilizar una API (Application Programming Interface o reglas que las aplicaciones siguen para comunicarse entre ellas) segura que evite el uso de intérpretes o provea una interface parametrizada.
- Si la API no está disponible se deben codificar los caracteres especiales usando sintaxis de escape; En la página https://webdiis.unizar.es/~ftricas/Asignaturas/sei/Transparencias/si-practica6.pdf, se encuentra una práctica que ofrece información acerca de la validación de datos de entrada de las aplicaciones y la forma de sanearlos adecuadamente; en esta misma dirección, en la página 4, se encuentra las vulnerabilidades de desbordamiento de memoria (buffer overlow) y la página 5 ofrece pruebas con la biblioteca criptográfica de Java y su correcto uso.
- Validación de entradas positivas o lista blanca, estas ESAPI OWASP, ofrece librerías de rutinas de validación positiva.
_____________________________
-
Tomado del proyecto original de "GUÍA DE BUENAS PRÁCTICAS PARA EL DESARROLLO DE APLICACIONES WEB SEGURAS, ORIENTADAS A LA FORMACIÓN DE PROGRAMADORES" Liliana Cújar Bahamón. Autora de este sitio web.