pen-fieldSQLi Union

Consignes

Aucune pour ce niveau

Réalisation

On se rend sur le site et on renseigne un id pour observer ce qu'il se passe. En entrant l'id 1 , on obtient ceci :

On recherche le nombre de colonnes disponibles dans le tableau d'affichage : en modifiant l'URL avec ces valeurs :

?id=1' ORDER BY 1--
?id=1' ORDER BY 2--
?id=1' ORDER BY 3--

On continue jusqu’à ce que l'on ai une erreur : le dernier avant l’erreur donne le nombre de colonnes.

Dans notre cas, ?id=1' ORDER BY 3-- nous retourne ceci :

Error:
1st ORDER BY term out of range - should be between 1 and 2

Ceci signifie donc que nous n'avons que 2 colonnes de disponibles.

Maintenant, on test ce payload pour voir si les donnĂ©es des colonnes concernĂ©es s’affichent :

Nous obtenons donc ceci :

On remplace maintenant 1 et 2 dans notre requĂȘte par username et password en essayant de taper la table users :

Voici le résultat obtenu :

On cherche ensuite Ă  trouver le FLAG. Pour ceci, on part du principe qu'il se trouve dans la table flags :

Le site nous retourne une erreur :

Nous allons donc changer notre requĂȘte afin de ne plus prendre en compte les colonnes nommĂ©es username et password .

Cependant, nous ne connaissons pas le nom des colonnes. Or, en SQL, nous pouvons récupérer l'ensemble des informations d'une table à l'aide du caractÚre * .

On execute alors la requĂȘte suivante :

Le site nous retourne alors ceci :

On dispose alors du FLAG :

Last updated