Web Security Academy

OS command injection - Lab : Simple case of command injection

Objectif :

  • Réussir à exécuter la commande "whoami" pour déterminer le nom de l'utilisateur courant de la machine distante.

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 accède aux détails d'un produit au hasard et en bas de la page, on peut vérifier son stock dans certaines villes :

Lorsqu'on clique sur "Check stock", une requête POST est envoyée au serveur avec comme donnée un numéro de produit et un numéro de magasin se situant dans une ville en particulier :

On essaye de remplacer le numéro de boutique par la commande "whoami" en rajoutant le caractère "&" juste avant pour pouvoir exécuter une autre commande que celle de base. Ce qui donne comme donnée à envoyer : productId=7&storeId=& whoami ( avec l'espace et le caractère "&" encodé en URL ).

On soumet la requête au serveur et le nom de l'utilisateur courant de la machine où s'est exécuté la commande s'affiche :

Le lab est désormais validé !