SqlMap omite OWASP ModSecurity Core Rule Set para inyección de SQL

2

Estoy tratando de realizar una prueba de penetración simple en la DVWA (la aplicación web que ha sido diseñada específicamente para ser vulnerable a algunos de los ataques de aplicaciones web más comunes).

Quiero usar ModSecurity WAF para proteger esta aplicación web de los ataques de inyección de SQL. Estoy usando el servidor web Apache para alojar mi aplicación web. El sistema operativo de esta máquina virtual "víctima" es Windows XP SP3.

Sé que ModSecurity proporciona muy poca protección por sí solo. Así que decidí usar el proyecto de conjuntos de reglas centrales ModSecurity de OWASP para incluir reglas de inyección de SQL adicionales.

Copié las "Reglas de ataques de inyección SQL" proporcionadas en la carpeta "reglas de base" del Conjunto de reglas principales de OWASP en el archivo de configuración apropiado, y me aseguré de que estas reglas se cargaran junto con ModSecurity.

Realicé ataques manuales de inyección SQL en la DVWA desde mi otra máquina virtual que tenía instalado Kali Linux. Por ejemplo:

%’ or 1=0 union select null, concat (first_name, 0x0a, last_name, 0x0a, user, 0x0a, password) from users #

Cuando se desactivó el conjunto de reglas básicas de inyección SQL, se mostraría la siguiente información:

Sinembargo,cuandoestasreglasestabanhabilitadas,elservidorsiempredevolveríael"Error 403 - Acceso prohibido", lo que significa que estas reglas de Inyección de SQL estaban funcionando correctamente.

Entonces decidí usar sqlmap para realizar ataques de inyección SQL más avanzados. Tuve que secuestrar la sesión utilizando burp suite para obtener información de cookies. Copié toda esa información a un archivo .txt en la máquina virtual Kali Linux:

HeocultadolainformacióndeIPydelacookie.

EsteeselcomandoqueingreséenmiterminaldemáquinavirtualKaliLinux:

Sqlmap logró omitir las reglas de Inyección SQL de OWASP ModSecurity y mostró la siguiente información:

Realmentenoentiendoporquélogrópasarporaltoestasreglas.¿Algunasideas?

UtilicéelsiguientetutorialparaconfigurarModSecurityenmimáquinavirtual:

enlace

¿Tal vez debería haber incluido algunos conjuntos de reglas OWASP adicionales para evitar el ataque de sqlmap?

Gracias

    
pregunta Alex 18.03.2014 - 04:24
fuente

2 respuestas

2

¡He logrado que ModSecurity detecte y prevenga la inyección SQL! El problema fue con el SqlMap y no con los conjuntos de reglas de OWASP.

Antes de habilitar ModSecurity realicé un escaneo de mapa SQL normal usando el comando mencionado anteriormente. SqlMap logró obtener y descifrar los valores de usuario y contraseña. Esperaba que eso sucediera porque no tenía WAF habilitado.

El siguiente paso fue habilitar los conjuntos de reglas WAF y SQLI y realizar el mismo análisis. SqlMap todavía logró obtener valores de usuario y contraseña. La razón de esto es porque obtuvo los resultados en caché que se guardaron después de haber realizado mi primer escaneo de SqlMap sin WAF habilitado.

Eliminé toda la carpeta de salida de sqlmap relacionada con esa dirección IP específica donde estaba alojado el DVWA.

rm -rvf /usr/share/sqlmap/output/192.168.220.128*

El último paso fue volver a ejecutar el escaneo de sqlmap, y esto es lo que obtuve:

    
respondido por el Alex 18.03.2014 - 22:09
fuente
1

Solo para el futuro y otros que tengan problemas similares. Si no está seguro de si y qué solicitudes envió sqlmap, puede configurar la verbosidad de salida (-v) a un número mayor.

Por ejemplo, configurándolo en 4 y agregando lo siguiente a su carga útil:
-v 4

sqlmap mostrará las solicitudes http y las cargas útiles en la consola. Equipado con estos, podrá volver a ejecutar las solicitudes usted mismo o detectar cualquier anomalía insertada en sqlmap.

Consulte enlace para obtener más información.

    
respondido por el Denis 25.01.2015 - 08:58
fuente

Lea otras preguntas en las etiquetas