SQL Map

Revisión del 20:41 20 dic 2024 de Admin (discusión | contribs.) (Página creada con «'''¿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. ---- == ¿P…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

¿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:

  1. 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.
  2. 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.
  3. 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.
  4. Soporte a múltiples bases de datos: SQLMap es compatible con bases de datos como MySQL, PostgreSQL, Microsoft SQL Server, Oracle, SQLite, entre otras.
  5. 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?

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. 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

  1. Instalar Python:
    • Descarga e instala Python desde python.org.
    • Asegúrate de marcar la opción "Add Python to PATH" durante la instalación.
  2. 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

  1. 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.