Para entender en qué consiste un ataque de Inyección SQL, tendremos que entender cómo funciona el servidor SQL, y cómo recibe y envía los datos de una página web.

En el momento en que se crea una página web, los datos serán cargados a un servidor (normalmente SQL), que proporcionará la información al usuario final de la web. Para que esta información pase del servidor a representarse dentro de la web, ha de hacerse un “login” y una petición por parte del usuario.

Un ataque SQL, hace una petición a este servidor, (el lenguaje con el que funciona es MySQL) de forma que el servidor devuelva el usuario y contraseña del servidor, con el que se logearía en la web para obtener estos datos.

La función de este programa, es esencialmente automatizar este envío de petición a través de un sencillo script en python.

Una vez explicado todo el contexto necesario para entender su funcionamiento, procedemos a explicar cómo llevarlos a cabo:

(La página web https://informaticoalrescate.com , no se hace responsable de lo que se haga con esta información).

El primer paso antes de ejecutar el ataque, será instalar el software necesario para llevarlo a cabo. En este caso necesitaremos “sqlmap”, que instalaremos a través de un sencillo comando en terminal de linux, en este caso será un SO Kali Linux.

sudo apt-get install sqlmap

Una vez instalado, tendremos dos opciones para iniciar el ataque: La primera, a través del wizard de SQLmap, se iniciará con el comando: 

sqlmap --wizard

Comando mediante el cual podremos hacer el ataque de forma guiada.

La primera opción de introducción de datos, será la de introducir la URL o la IP del objetivo, (en este caso introduciremos la IP 172.0.0.1 (localhost), para que este ataque sea sobre nuestra propia base de datos y no afecte a ninguna otra).

La siguiente opción posible es la de escoger la dificultad de la inyección SQL que se llevará a cabo:

Después de hacer la selección de dificultad, seleccionaremos el tipo de ataque que llevaremos a cabo: 

O a través del comando completo, que a parte de incluir muchas más opciones, 

(que podremos ver con el comando sqlmap –help), también lleva a cabo el ataque SQL de forma mucho más rápida y eficiente.

sqlmap [Opciones]

Entre esas opciones, destacan:

-u, o –url para especificar la dirección (URL o IP) al que se realizará el ataque

–level Especifica el nivel en el que se realizará el test (1-5 por defecto 1)

–risk Especificará el “riesgo” con el que se llevará a cabo el ataque (1-5 por defecto 1)

–technique= que especifica la “técnica” por la qual se llevará a cabo este ataque (por defecto “BEUSTQ”)