Inyección SQL en Máquina DVWA

1. Introducción

Este informe detalla la identificación y explotación de una vulnerabilidad de inyección SQL en la aplicación web Damn Vulnerable Web Application (DVWA). La prueba se realizó en un entorno controlado para demostrar una vulnerabilidad común y su posible impacto en la seguridad de la aplicación.

Este post es la resolución al ejercicio: https://github.com/breatheco-de/incident-report-for-sql-injection-exercise-project.git

2. Descripción del Incidente

Durante la evaluación de seguridad de DVWA en la configuración de seguridad “Low”, se descubrió una vulnerabilidad de inyección SQL en el módulo «SQL Injection». Esta vulnerabilidad permite a un atacante inyectar consultas SQL maliciosas, comprometiendo así la integridad y la confidencialidad de los datos almacenados en la base de datos.

3. Método Utilizado para la inyección SQL

  1. Acceder a la aplicación DVWA en el modo de seguridad «Low».
  2. Navegar a la sección «SQL Injection».
  3. En el campo «User ID», introducir la siguiente carga útil SQL: 1′ OR ‘1’=’1.
  4. Hacer clic en «Submit» para ejecutar la inyección SQL.

Resultado: La aplicación devuelve todos los registros de la base de datos, mostrando información de varios usuarios, como se muestra a continuación:

*** Al tratarse de un parámetro “GET”, también se puede explotar introduciendo en la URL la explotación en el campo “id”:

http://localhost/DVWA/vulnerabilities/sqli/?id=1%27+OR+%271%27%3D%271&Submit=Submit

4. Impacto del Incidente

Explotar esta vulnerabilidad podría permitir a un atacante:

  • Acceder y extraer información confidencial de la base de datos, incluyendo credenciales de usuario.
  • Modificar, eliminar o comprometer datos sensibles almacenados en la aplicación.

Esto representa un riesgo significativo para la confidencialidad, integridad y disponibilidad de los datos y servicios proporcionados por DVWA.

5. Recomendaciones

Basado en los hallazgos de esta evaluación de seguridad, se recomiendan las siguientes medidas correctivas y preventivas:

  1. Validación de Entrada: Implementar validaciones estrictas para todos los datos proporcionados por el usuario, utilizando parámetros seguros en las consultas SQL para prevenir inyecciones SQL.
  2. Pruebas de Penetración: Realizar auditorías de seguridad regulares, incluyendo pruebas de penetración, para identificar y mitigar vulnerabilidades de seguridad antes de que sean explotadas por atacantes.
  3. Educación y Concienciación: Capacitar al personal técnico y no técnico en prácticas de desarrollo de aplicaciones seguras y aumentar la concienciación sobre los riesgos asociados con las vulnerabilidades de seguridad.

6. Conclusiones

La identificación y explotación exitosa de la vulnerabilidad de inyección SQL en DVWA subraya la importancia de una seguridad proactiva en el desarrollo y mantenimiento de aplicaciones web.
Implementar controles de seguridad robustos y seguir las mejores prácticas de ciberseguridad son esenciales para proteger los activos críticos y garantizar la continuidad del negocio.

Comparte esta Publicación en Redes Sociales