Adresse de l’épreuve : http://redtiger.labs.overthewire.org/level2.php
Pour ce niveau 2, un formulaire d'identification est affiché.
Notre objectif est donc d'outrepasser cette identification pour nous connecter. Pour cela, nous devons injecter un payload qui fera de la requête finale une condition vraie.
Imaginons une requête comme ceci :
SELECT * FROM users WHERE username='$_POST["username"]' AND password='$_POST["password"]';
Si les entrées utilisateurs ne sont pas protégées nous pouvons forcer les clauses WHERE à TRUE. En effet, en injectant comme nom d'utilisateur et comme mot de passe nous obtenons une requête valide et vraie.
SELECT * FROM users WHERE username=''or 1=1#' AND password=''or 1=1#';
Nous obtenons un accès sur le compte du premier utilisateur de la base données.