Injection SQL aveugle à réponses conditionnelles
Blind SQL injection with conditional responses
Contexte / vulnérabilité : la valeur d’un cookie de suivi (TrackingId) est injectée dans une requête SQL côté serveur. La requête ne renvoie pas directement de résultat ni d’erreurs, mais la page affiche "Welcome back!" si la requête retourne au moins une ligne. Ceci permet une SQLi aveugle par conditions (boolean-based) : on interroge des assertions vraies/faux et on observe la présence/absence du message pour extraire des données.
But du lab : extraire le mot de passe de l’utilisateur administrator et se connecter en tant qu’administrateur.
Technique (phases et payloads essentiels)
Tests basiques de stabilité / colonnes
(permet de détecter comportement d’erreur si utile)


Vérification d’une condition vraie / fausse (contrôle du canal de fuite)
la première doit déclencher
Welcome back!, la seconde non.
Vérifier existence d’un utilisateur
administratorsi
Welcome back!apparaît, la sous-requête a renvoyé une ligne.
Extraire caractère par caractère (substrings)
Nom d’utilisateur (ex.)
Mot de passe (ex.)
itérer positions/valeurs pour reconstituer la chaîne.
Connaître la longueur (exemple : tester longueur = 20)
s’adapte selon SGBD (
LENGTH/LEN/LENGTH()→ adapter).
Script d’automatisation (Python)
Le script fournis automatise un brute-force caractère-par-caractère en modifiant le cookie
TrackingId.

Mis à jour
Ce contenu vous a-t-il été utile ?