Burp Suite
id afin d’affiner le payload SQL.La vulnérabilité est une injection SQL (SQLi) classique située dans le paramètre id du fichier view_user.php. L’application ne verwendet pas de requêtes préparées (Prepared Statements) ou de mécanisme d’assainissement équivalent, interpolant directement la valeur fournie par l’utilisateur dans la requête SQL.
L’architecture de l’application permet l’exploitation via la technique UNION, permettant à un attaquant d’ajouter les résultats de tables arbitraires à la sortie de la requête originale.
Le vecteur d’attaque est purement distant et ne nécessite aucune authentification.
/music/view_user.php.id révèle une anomalie dans la réponse, confirmant le point d’injection.UNION SELECT, l’attaquant détermine le nombre de colonnes retournées par la requête originale./music/view_user.php?id=0 union select 1,2,3,4,5,6,database(),8,9,10,11,12--+users pour extraire les identifiants administratifs.D’un point de vue forensic, une tentative d’exploitation laisse des traces spécifiques dans les journaux du serveur web.
Analyser les journaux d’accès (Apache/Nginx) pour les motifs suivants :
/music/view_user.php contenant des mots-clés SQL tels que UNION, SELECT, INFORMATION_SCHEMA ou DATABASE().id (fuzzing)..php inattendus à la racine du serveur web, car l’injection SQL est souvent utilisée pour obtenir un premier accès et uploader un shell via INTO OUTFILE.Implémenter la requête suivante pour détecter les tentatives d’exploitation :
index=web_logs uri="/music/view_user.php" (id="*union*" OR id="*select*" OR id="*database*")
Créer une règle d’alerte sur la présence de mots-clés SQL dans l’URI du composant cible.
mysqli ou PDO en PHP) pour découpler la logique de la requête des données.id. Puisqu’il doit s’agir d’un entier, forcer le type : $id = (int)$_GET['id'];.FILE pour empêcher l’usage de LOAD_FILE() ou INTO OUTFILE.Burp Suite
id afin d’affiner le payload SQL.sqlmap
NVD