¿Qué es SQLMap?
SQLMap es una herramienta de código abierto que se utiliza para automatizar la detección y explotación de vulnerabilidades de inyección SQL en aplicaciones web. Estas vulnerabilidades permiten a un atacante ejecutar comandos SQL no autorizados en la base de datos de una aplicación web, lo que podría dar acceso a información confidencial, manipular la base de datos o incluso tomar control total de la aplicación.
¿Para qué funciona SQLMap?
SQLMap tiene diversas funcionalidades clave, que incluyen:
- Detección de vulnerabilidades de inyección SQL: Identifica automáticamente si un sitio web o una aplicación web es vulnerable a ataques de inyección SQL.
- Explotación de la vulnerabilidad: Una vez que se detecta la vulnerabilidad, SQLMap puede extraer información como bases de datos, tablas, columnas, usuarios y contraseñas.
- Automatización de tareas: La herramienta permite automatizar la extracción de información de la base de datos sin necesidad de escribir consultas SQL manualmente.
- Soporte a múltiples bases de datos: SQLMap es compatible con bases de datos como MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SQLite, entre otras.
- Acciones avanzadas: No solo permite extraer datos, sino también leer y escribir archivos, realizar operaciones de shell y escalar privilegios.
¿Cómo funciona SQLMap?
- Escaneo de la URL: SQLMap se dirige a la URL de la aplicación web que recibe parámetros de entrada, ya que estos son los puntos donde se pueden inyectar consultas SQL.
- Pruebas de inyección: La herramienta prueba varias técnicas de inyección, como inyección ciega, basada en errores, basada en tiempo, UNION, etc.
- Exploración de la base de datos: Si se detecta una vulnerabilidad, SQLMap explora la base de datos, identificando su tipo, versión y estructura.
- Explotación de la vulnerabilidad: Una vez que se tiene acceso a la base de datos, SQLMap puede extraer datos, listar bases de datos, acceder a archivos en el servidor o ejecutar comandos de shell.
¿Cómo se instala SQLMap?
Requisitos previos
- Sistema operativo: Windows, Linux, macOS (aunque se usa principalmente en Linux).
- Python: SQLMap está escrito en Python, por lo que necesitas tener Python instalado.
Pasos de instalación en Linux
- Actualizar repositorios del sistema:

Instalar Python (si no está instalado):

Clonar el repositorio de SQLMap desde GitHub:

Acceder al directorio de SQLMap:

Ejecutar SQLMap (no requiere instalación):

Pasos de instalación en Windows
- Instalar Python:
- Descarga e instala Python desde python.org.
- Asegúrate de marcar la opción "Add Python to PATH" durante la instalación.
- Descargar SQLMap:
- Clona el repositorio de SQLMap desde GitHub o descarga el archivo ZIP:

Navegar a la carpeta de SQLMap:

Ejecutar SQLMap:

Ejemplos de uso de SQLMap
- Comprobar si una URL es vulnerable:

Extraer bases de datos disponibles:

Extraer tablas de una base de datos específica:
python3 sqlmap.py -u "http://example.com/vulnerable.php?id=1" -D nombre_base_de_datos --tables
Extraer las columnas de una tabla específica:
python3 sqlmap.py -u "http://example.com/vulnerable.php?id=1" -D nombre_base_de_datos -T nombre_tabla --columns
Extraer los datos de una columna específica:
python3 sqlmap.py -u "http://example.com/vulnerable.php?id=1" -D nombre_base_de_datos -T nombre_tabla -C nombre_columna --dump
¿Es legal usar SQLMap?
El uso de SQLMap en sistemas no autorizados es ilegal y puede tener consecuencias legales graves. Solo se permite usar SQLMap en auditorías de seguridad autorizadas o pruebas de penetración (pentesting) con consentimiento previo del propietario de la aplicación. Usar esta herramienta sin permiso viola leyes de delitos informáticos en muchos países.