Web Security Academy

Information disclosure - Lab : Information disclosure in version control history

Objectif :

  • Obtenir un accès au compte administrateur et ensuite supprimer le compte d'une personne se nommant Carlos.

Solution :

En lançant le lab, on arrive sur un site de shopping.

En recherchant depuis l'URL un éventuel dossier .git disponible et accessible dans le serveur, on tombe sur cette page :

Effectivement, un dossier .git est exposé à tout le monde ! Il est très dangereux qu'un dossier .git soit accessible par n'importe quel utilisateur car il peut dévoiler des informations sensibles sur des versions antécédentes du site web. Le contenu de fichiers de configuration et des bouts de codes peuvent être dévoilés au grand public.

On va maintenant essayer d'extraire le plus d'informations possible depuis ce dossier, permettant d'atteindre notre objectif. Pour cela, on va utiliser GitTools.

GitTools est un outil gratuit, utilisé pour extraire et analyser un dossier .git pour en récupérer tout le contenu.

Premièrement, on va télécharger tout ce que contient le dossier .git :

Ensuite, on va lancer un script ( fourni avec GitTools ) servant à prélever et restaurer du contenu à partir des "commits" disponibles :

On trouve deux fichiers : admin_conf et admin_panel.php.

En ouvrant le fichier admin_conf, on voit qu'il contient le mot de passe du compte administrateur. Bingo !

Il suffit donc de se loguer en tant qu'administrateur en utilisant le mot de passe trouvé et de supprimer le compte utilisateur appartenant à Carlos.

Le lab est à présent validé !