Page cover

💉Introducción a SQLMap

Al comenzar a utilizar SQLMap, la primera consulta que hacen los nuevos usuarios suele ser el mensaje de ayuda del programa. Para ayudar a los nuevos usuarios, existen dos niveles de lista de mensajes de ayuda:

  • Basic Listing: Muestra solo las opciones y los flags básicas, suficientes en la mayoría de los casos (-h):

afsh4ck@kali$ sqlmap -h
        ___
       __H__
 ___ ___[']_____ ___ ___  {1.4.9#stable}
|_ -| . ["]     | .'| . |
|___|_  [.]_|_|_|__,|  _|
      |_|V...       |_|   http://sqlmap.org

Usage: python3 sqlmap [options]

Options:
  -h, --help            Show basic help message and exit
  -hh                   Show advanced help message and exit
  --version             Show program's version number and exit
  -v VERBOSE            Verbosity level: 0-6 (default 1)

  Target:
    At least one of these options has to be provided to define the
    target(s)

    -u URL, --url=URL   Target URL (e.g. "http://www.site.com/vuln.php?id=1")
    -g GOOGLEDORK       Process Google dork results as target URLs
...SNIP...
  • Advanced Listing: Muestra todas las opciones y flags (-hh):

Para obtener más detalles, se recomienda a los usuarios consultar la wiki del proyecto , ya que representa el manual oficial para el uso de SQLMap.


Escenario básico

En un escenario simple, un pentester accede a la página web que acepta la entrada del usuario a través de un parámetro GET (por ejemplo, id). Luego, desea probar si la página web está afectada por la vulnerabilidad de inyección SQL. Si es así, querrá explotarla, recuperar la mayor cantidad de información posible de la base de datos del back-end o incluso intentar acceder al sistema de archivos subyacente y ejecutar comandos del sistema operativo. Un ejemplo de código PHP vulnerable a SQLi para este escenario se vería así:

Como el informe de errores está habilitado para la consulta SQL vulnerable, se devolverá un error de base de datos como parte de la respuesta del servidor web en caso de que se produzcan problemas en la ejecución de la consulta SQL. Estos casos facilitan el proceso de detección de SQLi, especialmente en caso de manipulación manual de valores de parámetros, ya que los errores resultantes se reconocen fácilmente:

Para ejecutar SQLMap en este ejemplo, ubicado en la URL de ejemplo http://www.example.com/vuln.php?id=1, se vería así:

Nota: en este caso, la opción '-u' se utiliza para proporcionar la URL de destino, mientras que el modificador '--batch' se utiliza para omitir cualquier entrada de usuario requerida, eligiendo automáticamente el uso de la opción predeterminada.

Última actualización

¿Te fue útil?