Web Security Academy

SQL injection - Lab : SQL injection vulnerability allowing login bypass

Objectif :

  • Réussir à se connecter à l'application en tant qu'administrateur

Solution :

On lance le lab et on se trouve dans un site de commerce.

On clique sur login pour accéder sur la page de connexion :

Dans l'énoncé, on précise que l'administrateur a pour nom de compte "administrator". Le but est de se connecter à ce compte sans connaitre le mot de passe.

On imagine, suppose que la requête SQL traitée par le serveur est de cette forme : SELECT * FROM users WHERE username = '....' AND password = '....'

On essaye d'écrire dans le champ username "administrator'--" . On rajoute les deux tirets de commentaire pour supprimer la vérification du mot de passe. Peu importe ce qu'on écrit dans le champ password, cela n'a pas d'importance.

On essaye de connecter et ça marche ! On a réussi à accéder au compte de l'administrateur.

Le lab est désormais validé.