comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

SQL Inyection a traves de cabeceras HTTP

  • 4 Respuestas
  • 2519 Vistas

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

Desconectado q3rv0

  • *
  • Underc0der
  • Mensajes: 206
  • Actividad:
    0%
  • Reputación 1
  • %ERRORLEVEL%
    • Ver Perfil
    • q3rv0
    • Email
« en: Abril 12, 2012, 06:33:34 pm »
Cuando realizamos pruebas de variables en una aplicacion web en busca de vulnerabilidades del tipo SQLI o Blind SQLI nos limitamos a testearla solo mediante peticiones GET y POST pero nos olvidamos o desconocemos de otros parametros que pueden ser inyectados para obtener un lindo error de la DB que nos permita meterle jeringa hasta sacarle jugo a  toda la informacion posible.

¿Y los parametros de una cabecera HTTP? ¿no son inyectables?



Este es un analisis que se realizo usando varios scaneres de aplicaciones web de codigo abierto y comerciales, como se puede distinguir, el 75%  de estas herramientas no pudo encontrar una vulnerabilidad en los encabezados HTTP, por otro lado el 70% de estos scaneres no inspecciona las cookies. Generalmente y si no me queda mas que indagar en las cabeceras trato de buscar este tipo de vulns a mano limpia, como deberia hacerse con todo :)

Posibles encabezados HTTP para inyecciones SQL

Los campos de la cabecera HTTP




 X-Forwarded-For

X-Forwarded-For es un campo de encabezado HTTP para la identificación de la dirección IP de origen de un cliente que se conecta a un servidor web a través de un proxy HTTP o un equilibrador de carga.

Vamos a ver un ejemplo de esta falla

Código: You are not allowed to view links. Register or Login
$req = mysql_query("SELECT user,password FROM admins WHERE user='".sanitize($_POST['user'])."' AND password='".md5($_POST['password'])."' AND ip_adr='".ip_adr()."'");
 

La variable login es controlada por la funcion sanitize()

Código: You are not allowed to view links. Register or Login
function sanitize($param){ if (is_numeric($param)) { return $param; } else { return mysql_real_escape_string($param); } }
Vamos a inspeccionar la variable ip controlada por la funcion ip_addr()

Código: You are not allowed to view links. Register or Login
function ip_adr() { if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip_adr = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip_adr = $_SERVER["REMOTE_ADDR"]; } if (preg_match("#^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}#",$ip_addr)) { return $ip_adr; } else { return $_SERVER["REMOTE_ADDR"]; }

Obviamente, la dirección IP se obtiene del parametro X_FORWARDED_FOR. Luego es controlado por preg_match que verifica si el valor corresponde a una dirección IP

la variable HTTP_X_FORWARDED_FOR  no es verificada apropiadamente antes de su valor que se utiliza en la consulta SQL. Esto puede llevar a ejecutar cualquier consulta SQL mediante la inyección de código SQL arbitrario en este campo.

La simple modificación de este campo de encabezado a algo así como :}

Código: You are not allowed to view links. Register or Login
GET /index.php HTTP/1.1
X_FORWARDED_FOR :127.0.0.1' or 1=1#

User-Agent

Tambien podemos hacer uso de este parametro para verificar
GET /index.php HTTP/1.1
User-Agent: aaa' or 1/*
 
Referer

Código: You are not allowed to view links. Register or Login
GET /index.php HTTP/1.1
Host: [host]
User-Agent: aaa' or 1/*
Referer: http://underterminal.nixiweb.com

Cookie

Podemos testear el parametro cookie manualmente complementando algun addon en el navegador que nos permita hacer esto, como Cookies Manager+ o el Tamper Data, asi inyectamos una sqli en el campo content.






 

O usando alguna herramienta de automatizacion como Sqlmap




 

Espero que les haya servido muchachos! saludos!
« Última modificación: Abril 13, 2012, 11:11:16 am por Pr0ph3t »
Web: You are not allowed to view links. Register or Login

Twitter: You are not allowed to view links. Register or Login

Desconectado Matabarras

  • *
  • Underc0der
  • Mensajes: 129
  • Actividad:
    0%
  • Reputación 0
  • In-Seguridad informática
    • Ver Perfil
  • Skype: Matabarrasfud
« Respuesta #1 en: Abril 12, 2012, 11:42:42 pm »
Esto no va en malwares, esto va en Inseguridad Informatica " Bugs y Exploits" o Tutoriales y Manuales, pero como aun no esta esa sección en inseguridad informatica, te lo muevo aqui

Aver si miramos un poco en la zona que posteamos, Saludos y gracias  ;)
« Última modificación: Abril 12, 2012, 11:45:59 pm por Matabarras »
No esperes nada, vive la vida, y que los demas hagan lo que ellos creen.

Desconectado q3rv0

  • *
  • Underc0der
  • Mensajes: 206
  • Actividad:
    0%
  • Reputación 1
  • %ERRORLEVEL%
    • Ver Perfil
    • q3rv0
    • Email
« Respuesta #2 en: Abril 12, 2012, 11:45:50 pm »
uy, me disculpo jeje andaba con la cabeza en cualquier lado!
Web: You are not allowed to view links. Register or Login

Twitter: You are not allowed to view links. Register or Login

Desconectado 5TU4RT

  • *
  • Underc0der
  • Mensajes: 111
  • Actividad:
    0%
  • Reputación 0
  • Si se puede imaginar... se puede programar.!
    • Ver Perfil
    • Underc0de
    • Email
« Respuesta #3 en: Abril 13, 2012, 04:53:53 am »
Gran aporte... Interesante!!!
Sigue asi.


SALU2
Si se puede imaginar... se puede programar.!

Desconectado Pr0ph3t

  • *
  • Underc0der
  • Mensajes: 443
  • Actividad:
    0%
  • Reputación 0
  • © Underc0de Team
    • Ver Perfil
  • Skype: thebrowfc
« Respuesta #4 en: Abril 13, 2012, 11:13:32 am »
Añadí la etiqueta code en las partes de código del tuto para que esté más ordenado. Buen aporte, gracias...
Twitter: @The_Pr0ph3t
pr0ph3t@hotmail.es

 

¿Te gustó el post? COMPARTILO!



Joomla 0-Day - HTTP Headers Remote Code Execution - CVE-2015-8562

Iniciado por Franciscodc

Respuestas: 0
Vistas: 2650
Último mensaje Diciembre 26, 2015, 05:10:59 am
por Franciscodc
HTTP METHODS: Subiendo Shell mediante PUT

Iniciado por dracko.rx

Respuestas: 0
Vistas: 2241
Último mensaje Febrero 24, 2010, 03:07:58 pm
por dracko.rx
Tool by Guason para HTTP Hacking

Iniciado por dracko.rx

Respuestas: 0
Vistas: 1606
Último mensaje Febrero 24, 2010, 03:09:49 pm
por dracko.rx
Introduccion al HTTP Hacking By Zero Bits

Iniciado por dracko.rx

Respuestas: 2
Vistas: 2229
Último mensaje Febrero 27, 2013, 05:27:09 pm
por stakewinner00
Vulnerabilidad MS15-034 - HTTP.sys

Iniciado por Aforak

Respuestas: 2
Vistas: 2962
Último mensaje Octubre 30, 2015, 01:53:39 pm
por Stuxnet