sqliHoy en día, uno de los ataques que más se utiliza contra aplicaciones web son los llamados SQL Injection, estos ataques tienen como objetivo acceder a la base de datos del sitio web, y obtener información sensible sobre ella, como por ejemplo los datos para administrar el sitio web, contraseñas de los usuarios, correos electrónicos, DNI, dirección e incluso números de tarjetas de crédito con los códigos de verificación, etc.

Seguro que mas de uno de nosotros, nos hemos encontrado alguna vez sin querer (o queriendo) algún mensaje de alerta como este en algún sitio web, y sin darle demasiada importancia hemos seguido con lo nuestro.

Ejemplo Vulnerabilidad SQL 1

Ejemplo Vulnerabilidad SQL 1

Ejemplo Vulnerabilidad SQL 2

Ejemplo Vulnerabilidad SQL 2

Si vemos esto, podríamos decir que tenemos altas posibilidades de obtener datos sensibles sobre el sitio web..

Esta vulnerabilidad ocurre por un error en la validación de las variables.

Para ataques SQL Injection de forma automatizada, uso siempre SQLmap, lo puedes descargar de AQUI, como siempre las mejores herramientas son libres.

En otra entrada explicaré mas detenidamente como buscar webs con fallos SQLi y publicaré unos Dorks para ayudarnos a encontrarlas dependiendo lo que queramos obtener, pero no quiero alargar mucho esta entrada por lo que voy al grano.

Una vez localizada la web con fallo SQLi debemos de saber como se llama la base de datos que está manejando la web, lo haríamos de la siguiente manera (En rojo debemos de poner la URL, lo tapo por motivos de seguridad).

1

y obtenemos el nombre de la BBDD.

Obteniendo el nombre de la base de datos

Como ya sabemos el nombre de la Base de Datos, debemos de avanzar en nuestro ataque, el siguiente paso es sacar todas las tablas de la base de datos que nos interesa, evidentemente la primera es la mas importante, procedemos como en el anterior y ademas le añadimos el nombre de la BBDD que obtuvimos.

3

4

Parece que hemos encontrado algo muy interesante, seguimos con el ataque, ahora vamos a por las columnas de la tabla webmaster.

55

Y nos muestra como resultado 5 columnas, de las cuales las mas importantes son usuario y contrasena.

6

Y finalmente, el ultimo ataque para llegar hasta los datos, al final indicamos a SQLmap que saque los datos con –dump.
7

8

Ya tenemos los datos de administración del sitio, una vez comprobada y verificada la vulnerabilidad, nos ponemos en contacto con el admin del sitio para que corrija el fallo.

Terminó la entrada de hoy, no olvides compartir.

Gracias y Happy Hack!!!!!


Javier Olmedo

Consultor de Ciberseguridad e Investigador de Seguridad de Aplicaciones Web en mi tiempo libre, Técnico en Sistemas Informáticos y Técnico Superior en Desarrollo de Software, apasionado de la [In]Seguridad Informática.

2 commentarios

Jhon · martes, 19 septiembre, 2017 a las 14:59

Hola, muy buen post, una pregunta, tengo un programa que funciona en Windows (desconozco con que lenguaje esta hecho) este programa tiene un archivo de base de datos hecho en firebird 1.0 (todo de forma local), necesito conectarme a esta base de datos pero no tengo la contraseña, creo que el usuario puede ser sysdba. Con este programa podría intentar recuperar la contraseña. Gracias.

    Javier Olmedo · domingo, 1 octubre, 2017 a las 20:46

    Buenas,

    Esto no creo que te sirva de mucho.
    Prueba a hacer ingeniería inversa al programa.

    Saludos!!

Deja tu comentario