El día de hoy hablaremos de SQLmap, una de las herramientas más conocidas y utilizadas para la automatización de inyecciones SQL (SQL Injection). Está escrita en Python y funciona realizando peticiones a los parámetros que se le indiquen a una url, ya sea mediante una petición GET, POST, en las cookies, etc. Por otra parte es capaz de explotar cualquier tipo de SQLi, como union-base, time-base-blind, base-blind-injection, heavy-queries...
Imagen 1:Introducción a SQLmap: ataques SQL Injection |
Como ya vimos en esta demostración básica de Injección SQL, esta es una técnica de ataque a páginas o aplicaciones web, que intenta inyectar código SQL dentro de la aplicación destino, para de esta forma poder acceder a información sensible. Inyección SQL es un método de inclusión de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar consultas a una base de datos.
Parámetros básicos de SQLmap
- -url url (-u) con la variable vulnerable ejemplo: https://rememberhackingsite.php?id=1
- -p (buscar otra variable vunlerable) https://rememberhackingsite.php?id=1&user
- --data si hay un formulario GET,POST los campos vulnerables
- --level=n cinco niveles según dificultad
- -dbs listar las bases de datos
- --dbms motor de la base de datos (MySQL,SQL Server ,etc)
- -D indicamos la base de datos a utilizar (-Database)
- --tables mostrar las tablas disponibles
- -t nombre de la tabla --columns
- --dump vuelca resultados, mostrar contenido de las tablas
- -C (Columnas) columnas a mostrar
- --wizard ejecuta un asistente
- --threads=n número de procesos (por defecto 1)
- --delay=n segundos de espera entre peticiones http
- -current-db base de datos que está usando actualmente
- --current-user ver usuario que está ejecutando
- --is-dba –current-db ver si el usuario es el dba de la BD
- --privileges ver los privilegios del usuario (alter, create, drop, execute)
- --file-read path (ruta) leer ficheros
- --sql-shell obtener una sql en shel
- --os-shell obtener shell en el servidor (asp es la 1, aspx 2, jsp 3, php 4) (si se poseen los suficientes privilegios y un FPD (Full Path Disclosure)
- --headers= cabeceras del navegador
- --random-agent cabeceras del navegador aleatorias
- --time-sec= Segundos para retrasar la respuesta de DBMS (por defecto 5)
- ---technique= : Se utiliza para seleccionar la técnica que se va a utilizar en la inyección ( B - E - U - S - T - Q.) Boolean-based, Error-based, Union, Stacked querys, Time-based, Inline queries
El listado completo lo tenéis en la documentación oficial:
https://github.com/sqlmapproject/sqlmap/wiki/Usage
SQLMap compara la página sin ningún tipo inyección, con la página con la inyección. Y en función de la variación entre ellas devuelve True o False (True si supera determinado ratio y False en el caso contrario).
Una vez sabemos todo esto pasaremos a ver un ejemplo, antes de nada necesitamos un objetivo sobre el que lanzar la herramienta. Una vez tengamos nuestro objetivo y hayamos comprobado que realmente es vulnerable a SQL Injection, es hora de ver lo que SQLmap es capaz de hacer.
Lo primero que vamos hacer será comprobar que nuestro objetivo es realmente injectable, para ello escribimos la siguiente instrucción:
sqlmap -u url --dbs
Imagen 2: Instrucción para que nos muestre las las bases de datos |
Imagen 3: Resultado de la petición para que nos muestre las bases de datos |
Después de esto sqlmap nos devolverá como resultado el contenido de la base de datos. Para visualizar sus tablas tecleamos lo siguiente:
sqlmap -u url -D nombredelabasededatos --tables
Imagen 4: Instrucción para que nos muestre las tablas |
Imagen 5: Resultado de la petición para que nos muestre las tablas |
Nos mostrará todas las tablas que contiene esa base de datos en concreto, ahora seleccionaremos la tabla que nos interesa para que nos muestre su contenido:
sqlmap -u url -D nombredelabasededatos -T nombredelatabla --columns
Imagen 6: Instrucción para que nos muestre las columnas |
Imagen 7: Resultado de la petición para que nos muestre las columnas |
Por último solo tenemos que añadir las columnas que creamos necesarias, y le agregamos la instrucción --dump para que se realice el volcado de datos.
sqlmap -u url -D nombredelabasededatos -T nombredelatabla -C nombredelacolumna --dump
Fuente: elhacker.net, SQLmap.org
Best Casinos Near Harrah's Resort Southern California - MapYRO
ResponderEliminarFind 영천 출장안마 casinos with casino 강릉 출장샵 gaming, hotel, restaurants 여수 출장안마 near Harrah's Resort Southern California in 대전광역 출장샵 Funner. 세종특별자치 출장안마 Valley Center, CA Casino. 777 Harrah's Rincon Way