BBLABS v2BBLABSv2
>Inicio>Labs
>New labs

Últimos 3 labs

Cargando…

Ver todos los labs →
>Creators>Ranking
>Aprender

Aprender bug bounty

AcademyGuías, cheatsheets y diccionarioVulnerabilidadesXSS, SQLi, IDOR, SSRF y másHunter RoadmapTu ruta de bug bounty paso a pasoBlogGuías y noticias de bug bounty
>Empresa>Precios
EN
AccederAcceder
>Inicio>Labs>New labs>Creators>Ranking>Aprender>Empresa>Precios
EN
Iniciar SesiónCrear Cuenta

Contacto

Practica, aprende y hackea

Plataforma de práctica de bug bounty con labs basados en reportes reales. Aprende hacking ético en entornos seguros.

contactar→

Síguenos

YouTube
@0xGorka
X
@gorkaelbochi
LinkedIn
gorka-el-bochi-morillo
Instagram
@_.gorkaaa.b
Email
team@bblabs.es

Accede a todos los labs desde 7,99€/mes

Nuevos labs cada semana. Cancela cuando quieras.

Crear cuenta

BBLabs es la plataforma de laboratorios de bug bounty en español donde aprender bug bounty con vulnerabilidades reales extraídas de reportes pagados en HackerOne, Bugcrowd e Intigriti. Aquí practicas hacking web —XSS, SQLi, IDOR, SSRF, CSRF y más— en entornos descargables, capturas la flag, lees el writeup y aplicas la técnica en programas activos de bug bounty.

BBLabs es la alternativa en español a HackTheBox, TryHackMe y PentesterLab para quienes quieren practicar bug bounty con reportes reales en lugar de CTFs artificiales. Desde 7,99€/mes, sin permanencia.

→ Aprender bug bounty desde cero→ Cómo hacer bug bounty paso a paso→ Reportes de bug bounty reales→ BBLabs para empresas y academiasLabsAcademyVulnerabilidadesHerramientasRanking de huntersLabs de XSSLabs de IDORLabs de SSRFLabs de CSRFHackTheBox alternativaHack4u alternativaTryHackMe alternativaPortSwigger alternativaPentesterLab alternativaBug Bounty Labs comparativaHackerOne para practicarOffSec / OSCP alternativaINE / eWPT alternativaHTB Academy alternativaDVWA alternativaJuice Shop alternativaVulnHub alternativaPentesterAcademy alternativaRoot-Me alternativaHackTheBox vs TryHackMeMejores plataformas bug bounty 2026BlogSpoilers¿Qué es el bug bounty?¿Cuánto se gana en bug bounty?OWASP Top 10 explicadoMejores webs para practicar hacking webCómo ser hacker ético desde ceroTutorial de Burp Suite en españolOSCP en español: guía y preparaciónGoogle Dorks para bug bountyCuánto gana un hacker ético en EspañaHerramientas de bug bounty 2026Mejores certificaciones de ciberseguridad 2026Burp Suite tutorialsqlmap tutorialffuf fuzzing webnuclei tutorialHTTP Request SmugglingWAF bypassPrompt injection (LLM)Google Dorks
Hecho cony código
TérminosPrivacidadComparativaEN

© 2026 BBLABS v2 — Todos los derechos reservados

back to blog
herramientas

sqlmap desde cero: tutorial en español para bug bounty (2026)

Tutorial de sqlmap en español paso a paso: detectar y explotar inyecciones SQL con -u, listar bases de datos con --dbs, volcar tablas con -D/-T/--dump, automatizar con --batch, ajustar --level/--risk, evadir WAF con tamper scripts y llegar a --os-shell. Siempre dentro de un scope autorizado.

GEB

Gorka El Bochi

Fundador de BBLABS

2026-07-2111 min read
#sqlmap#sqli#herramientas#inyeccion-sql#tutorial

Respuesta rápida: sqlmap es una herramienta open source que automatiza la detección y explotación de inyecciones SQL. En su forma más simple le pasas una URL con -u, añades --dbs para listar bases de datos y -D/-T/--dump para volcar datos. Úsala solo en objetivos donde tengas permiso explícito: un programa de bug bounty en scope o un laboratorio propio.

¿Qué es sqlmap y para qué sirve?

sqlmap es el estándar de facto para automatizar inyecciones SQL. Detecta el punto inyectable, identifica el motor (MySQL, PostgreSQL, MSSQL, Oracle, SQLite…), elige la técnica que funciona (basada en booleanos, en tiempo, en errores, UNION o stacked queries) y a partir de ahí enumera y exfiltra la base de datos por ti.

No sustituye entender la vulnerabilidad. Si no sabes qué es una inyección SQL ni cómo se ve una a mano, empieza por la teoría en Academy › SQLi y vuelve aquí. sqlmap es la herramienta que te ahorra las horas mecánicas una vez que ya sabes lo que estás mirando.

Aviso ético, en serio: lanzar sqlmap contra un objetivo sin autorización es un delito. Practica solo en tus propios laboratorios o en programas de bug bounty con un scope que lo permita. En un target real, un --dump masivo puede tumbar la base de datos: mide siempre el impacto.

¿Cómo detectar una inyección con sqlmap?

El caso más común: un parámetro GET sospechoso. Le pasas la URL completa con -u:

sqlmap -u "https://target.com/product.php?id=15"

sqlmap probará el parámetro id con distintas cargas y te dirá si es inyectable y con qué técnicas. Si el sitio usa métodos POST, pásale el cuerpo con --data:

sqlmap -u "https://target.com/login" --data="user=admin&pass=1234"

Cuando la petición es compleja (cookies de sesión, cabeceras, JSON), lo más cómodo es capturarla con Burp Suite, guardarla en un fichero y pasársela con -r:

sqlmap -r peticion.txt -p id

Con -p le dices qué parámetro atacar. Si no lo especificas, sqlmap prueba todos los que encuentra (incluidas cookies y cabeceras si se lo pides).

¿Cómo enumerar bases de datos, tablas y columnas?

Una vez confirmada la inyección, se va de lo general a lo concreto. Primero, las bases de datos:

sqlmap -u "https://target.com/product.php?id=15" --dbs

Elige una con -D y lista sus tablas:

sqlmap -u "https://target.com/product.php?id=15" -D tienda --tables

Elige una tabla con -T y mira sus columnas:

sqlmap -u "https://target.com/product.php?id=15" -D tienda -T usuarios --columns

Y cuando sabes qué quieres, vuelcas los datos con --dump. Puedes acotar a columnas concretas con -C para no descargar toda la tabla:

sqlmap -u "https://target.com/product.php?id=15" -D tienda -T usuarios -C email,password --dump

Atajos útiles: --current-db (base de datos actual), --current-user (usuario de la conexión), --is-dba (¿es administrador?), --passwords (intenta extraer y crackear hashes de usuarios del motor). En un reporte de bug bounty rara vez necesitas volcar todo: basta demostrar el acceso a un dato que no deberías poder leer.

Flags esenciales del día a día

  • --batch: responde automáticamente a todas las preguntas con la opción por defecto. Imprescindible para no estar pulsando enter cada dos segundos.
  • --level (1–5): sube la exhaustividad. Niveles altos prueban más parámetros, cookies y cabeceras. Por defecto es 1.
  • --risk (1–3): sube la agresividad de las cargas. Riesgo 3 incluye cargas que pueden modificar datos (por ejemplo OR-based), así que ojo en producción.
  • --technique: fuerza técnicas concretas (B booleana, T time-based, E error-based, U union, S stacked). Útil cuando ya sabes cuál funciona y quieres ir directo.
  • --threads: paraleliza (hasta 10). Acelera los volcados grandes.
  • --random-agent: rota el User-Agent para no cantar como sqlmap.
  • --proxy: enruta el tráfico por Burp (--proxy=http://127.0.0.1:8080) para verlo todo.

Una combinación equilibrada para reconocimiento inicial sin pasarte de agresivo:

sqlmap -r peticion.txt -p id --level=3 --risk=2 --batch --random-agent

¿Cómo evadir un WAF con tamper scripts?

Si el objetivo tiene un firewall de aplicaciones que bloquea las cargas típicas, sqlmap incluye tamper scripts: transformaciones que ofuscan la carga (codificación, comentarios inline, cambio de mayúsculas, espacios alternativos…). Se encadenan con --tamper:

sqlmap -r peticion.txt --tamper=space2comment,between,randomcase --batch

Lista los disponibles con sqlmap --list-tampers. No hay combinación mágica: depende del WAF. Si quieres entender por qué funcionan estas transformaciones (y aplicarlas a mano cuando sqlmap falla), lo desarrollo en técnicas de WAF bypass. Para fingerprintear el WAF antes, --identify-waf te da una pista del producto.

--os-shell y explotación avanzada

Cuando el motor y los permisos lo permiten, sqlmap puede ir más allá de leer datos:

  • --os-shell: intenta darte una shell del sistema operativo (subiendo un stager o abusando de funciones del motor). Requiere privilegios altos y suele fallar en entornos endurecidos.
  • --sql-shell: una consola SQL interactiva sobre la inyección, para lanzar tus propias consultas.
  • --file-read / --file-write: leer o escribir ficheros del servidor si el motor lo permite (por ejemplo LOAD_FILE / INTO OUTFILE en MySQL).

Estas opciones cruzan de "leer datos" a "ejecutar en el servidor". En bug bounty, demostrar --os-shell eleva el severity a crítico, pero pide confirmación de hasta dónde puedes llegar según las reglas del programa. Ejecutar comandos en infraestructura ajena sin permiso explícito es pasarse de la raya.

¿Qué tipos de inyección detecta sqlmap?

Parte del valor de sqlmap es que prueba automáticamente cinco técnicas y elige la que funciona. Entenderlas te ayuda a leer su salida y a saber qué está pasando por debajo:

  • Basada en booleanos (B). sqlmap manda condiciones verdaderas y falsas y observa si la respuesta cambia (una página distinta, un mensaje diferente). Lenta pero fiable cuando no hay salida directa.
  • Basada en tiempo (T). Cuando ni siquiera cambia la respuesta, inyecta un retardo condicional (SLEEP, WAITFOR DELAY) y mide el tiempo. Es la técnica de las inyecciones "a ciegas" (blind) totales. Muy lenta pero funciona donde nada más lo hace.
  • Basada en errores (E). Si la app filtra mensajes de error de la base de datos, sqlmap fuerza errores que revelan datos en el propio mensaje. Rápida cuando está disponible.
  • UNION (U). La reina cuando la consulta refleja resultados en la página: añade un UNION SELECT para traer columnas arbitrarias. Es la que da volcados rápidos.
  • Stacked queries (S). Apila consultas separadas con ;. Permite ejecutar sentencias que no son SELECT (útil para --os-shell), pero solo funciona en motores/drivers que lo permiten.

Cuando sqlmap te dice "the back-end DBMS is MySQL" y lista las técnicas que funcionan, ya sabes qué esperar: una inyección UNION o error-based irá rápida; una time-based blind puede tardar minutos en volcar una tabla. Ajusta --technique para forzar la que te interese y --threads para acelerar.

Trabajar con sesiones y peticiones complejas

En un objetivo real, la petición vulnerable casi nunca es una URL limpia. Necesitarás pasar contexto:

sqlmap -u "https://target.com/api/search" \
  --cookie="session=abc123; role=user" \
  --headers="Authorization: Bearer TOKEN" \
  --data='{"q":"test*"}' \
  --level=3 --batch

Un truco clave: el asterisco (*) marca manualmente dónde inyectar. Ponlo justo en el punto sospechoso ("q":"test*") y sqlmap ataca ahí en lugar de adivinar. Esto es esencial en cuerpos JSON, cabeceras personalizadas o rutas RESTful (/api/user/1*).

sqlmap guarda el progreso en una sesión: si cortas un volcado a medias, la próxima vez retoma donde iba en lugar de re-enumerar. Usa --flush-session para empezar limpio si algo se corrompió, y -s para apuntar a un fichero de sesión concreto. Para inyecciones de segundo orden (donde inyectas en un sitio pero el efecto sale en otro), --second-url le dice a sqlmap dónde comprobar el resultado.

Un flujo realista de principio a fin

  1. Encuentras un parámetro sospechoso navegando o con recon (ver técnicas de recon avanzadas).
  2. Capturas la petición con Burp y la guardas en peticion.txt.
  3. Confirmas: sqlmap -r peticion.txt -p id --batch --level=3 --risk=2.
  4. Si es inyectable, enumeras: --dbs → -D … --tables → -T … --columns.
  5. Extraes solo lo justo para demostrar impacto (un email, un hash) con --dump -C.
  6. Documentas la petición mínima que reproduce el fallo y escribes el reporte.

Ese último paso es el que paga. Un reporte con la petición exacta, la técnica, el motor y una prueba acotada del impacto vale mucho más que un volcado gigante sin contexto.

Errores comunes

  • Confiar en sqlmap a ciegas. Si no entiendes la inyección, no sabrás distinguir un falso positivo ni escribir un buen reporte. Entrénalo primero en labs de casos reales.
  • Ser demasiado agresivo en producción. --risk=3 + --threads=10 + --dump de todo puede degradar el servicio. Mide.
  • Ignorar el scope. Un parámetro fuera de scope, aunque sea vulnerable, no cuenta y puede meterte en problemas.
  • No usar --batch en automatizaciones: el proceso se queda colgado esperando input.

Preguntas frecuentes (FAQ)

¿sqlmap es legal?
La herramienta lo es; su uso depende del objetivo. Lanzarla contra un sistema sin autorización es un delito. Es legal en tus laboratorios, en máquinas de práctica y en programas de bug bounty cuyo scope y reglas lo permitan.

¿Detecta sqlmap todas las inyecciones SQL?
No. Es excelente con inyecciones "estándar" en parámetros identificables, pero puede fallar con inyecciones de segundo orden, contextos raros o filtros/WAF agresivos. Muchas inyecciones se encuentran a mano y luego se explotan con sqlmap. Por eso conviene entender la vulnerabilidad primero.

¿Por qué sqlmap dice que un parámetro no es inyectable si yo creo que sí?
Sube --level y --risk, marca el punto con *, prueba tamper scripts si hay WAF, y verifica que estás pasando bien cookies y cabeceras. A veces el problema es que la petición que envías no reproduce el estado en el que la inyección existe.

¿Es peligroso usar --dump en un objetivo real?
Puede serlo. Un volcado masivo de una tabla enorme genera mucho tráfico y carga. Acota con -C, limita filas con --start/--stop y extrae solo lo justo para demostrar impacto.

Practica antes de tocar producción

sqlmap es potente justamente porque automatiza algo que primero debes entender a mano. La ruta sana es: teoría en Academy › SQLi, práctica en labs que replican reportes reales, y solo después llevar la herramienta a un programa en scope. Cuando entiendes la inyección por dentro, sqlmap deja de ser una caja negra y se convierte en lo que es: un acelerador. Combínalo con el resto de tu arsenal siguiendo una ruta ordenada de bug bounty.

share
share:
hunters entrenando
650

hunters entrenando

labs de reportes reales
50

labs de reportes reales

completaciones
380

completaciones

en bounties practicados
$200.000

en bounties practicados

40 flags capturadas esta semana·Reportes reales de HackerOne · Bugcrowd · Intigriti·Sin permanencia·Academy gratis
BBLabs · bug bounty en español

Deja de leer sobre bugs y empieza a cazarlos

Crea tu cuenta gratis y practica sobre labs basados en reportes reales que pagaron miles de euros. La Academy es gratis para siempre.

Crear cuenta gratisVer los labs

Sin tarjeta · Academy gratis · cancela cuando quieras

[RELATED_POSTS]

Continue Reading

herramientas

Cómo configurar tu entorno de Bug Bounty

Todo lo que necesitas para montar un entorno profesional de bug bounty: desde la elección del sistema operativo hasta la automatización de reconocimiento.

Feb 22, 2026•15 min read
herramientas

Burp Suite desde cero: tutorial en español para bug bounty (2026)

Tutorial de Burp Suite en español desde cero: qué es, instalación y configuración del proxy (127.0.0.1:8080 + certificado CA), Proxy/Intercept, Repeater, Intruder, Decoder, extensiones útiles, Community vs Pro y un flujo real de caza.

2026-07-21•15 min read
herramientas

ffuf: fuzzing web desde cero (directorios, vhost y parámetros)

Tutorial de ffuf en español: fuzzing de directorios, subdominios/vhosts y parámetros GET/POST, cómo filtrar ruido con -fc/-fs y calibrar con -mc/-ac, wordlists de SecLists y cuándo usar gobuster o dirsearch como alternativas.

2026-07-21•11 min read