SQL Injection 101

Web
150 pts
Moyen

Énoncé


Une page de connexion exécute cette requête SQL côté serveur :


SELECT * FROM users WHERE username='[INPUT]' AND password='[INPUT2]'

En testant le champ username avec la valeur admin' --, la page répond :


Bienvenue admin ! Votre token secret : CSA{sql_1nj3ct10n_101}

Expliquez pourquoi cette injection fonctionne et soumettez le flag.




Comment fonctionne l'injection SQL


La requête devient :

SELECT * FROM users WHERE username='admin' --' AND password='...'

Le -- est un commentaire SQL : tout ce qui suit est ignoré, y compris la vérification du mot de passe ! L'attaquant se connecte sans connaître le mot de passe.


Protection : utiliser des requêtes préparées (prepared statements) qui séparent le code SQL des données.

Indices (0/2 révélés)

Soumettre le flag

Connectez-vous pour sauvegarder votre score.

CatégorieWeb
DifficultéMoyen
Points150 pts