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”)