Web Security Academy

OS command injection - Lab : Blind OS command injection with output redirection

Objectif :

  • Réussir à déterminer le nom de l'utilisateur courant de la machine distante.

  • Dans l'énoncé, il est indiqué que dans cette machine distante, le dossier /var/www/images est autorisé en écriture.

Solution :

On lance le lab et on se trouve sur la première page d'un site de commerce avec certains produits affichés :

On clique ensuite sur "Submit feedback" :

On va essayer sur chaque champ une injection de commande :

On va utiliser celle-ci : & whoami > /var/www/image/whoami.txt &. Si on réussit à l'exécuter, il suffira de trouver un accès à notre fichier se nommant "whoami.txt" pour récupérer le nom de l'utilisateur courant du serveur.

On tente l'injection de commande sur chaque champ.

On revient ensuite dans l'accueil et on observe chaque requête émise et reçue dans le proccesus d'affichage de la page.

Une requête semble intéressante :

Elle permet d'aller récupérer les données d'une image liée à un produit pour ensuite l'afficher.

On va remplacer le nom de l'image inscrit dans le paramètre GET par celui de notre fichier.

On intercepte la réponse et on voit ceci :

On a réussi à récupérer le nom de l'utilisateur courant de la machine distante. Le lab est désormais validé.