jsXSS Cookie Session

Consignes

Aucune pour ce niveau

Réalisation

Se connecter au site du challenge:

http://ctfd-link.com/

On a un espace destiné à envoyer un message à l'administrateur.

Tester dans ce champ la possibiliter d'effectuer une exploitation XSS :

<script>alert('XSS')</script>

Dans notre cas, le serveur est bien vulnérable.

On doit maintenant récupérer le cookie de l'administrateur pour récupérer le FLAG du challenge.

circle-info

Pour récupérer les cookies, il est important de connaitre la source associée aux cookies du site.

Pour récupérer des cookies, il d'agit de document.cookie

circle-info

Ci-dessous, quelques exemples de sources et sinks communs.

On va récupérer le coookie de l'administrateur de deux façons différentes.

Méthode 1

Utiliser ngrok pour récupérer le cookie.

Lancer dans un terminal ngrok :

circle-info

Addresse : 6.tcp.eu.ngrok.io

Port : 11769

Lancer dans un second terminal un serveur HTTPpython sur le même port que ngrok (port 8000) :

Une fois tout ceci lancé, utiliser la source document.cookie pour récupérer les cookies de l'administrateur sur le site cible :

circle-info

Remplacer url par http://adresse:port selon les valeurs retournées par ngrok

Ici, cela vaut : http://6.tcp.eu.ngrok.io:11769

Ici, la commande est donc :

On obtient alors sur notre fenêtre python ceci :

Le cookie de l'administrateur est donc ceci :

Se connecter au compte administrateur via le cookie relevé :

Modification du cookie de session

Une fois le cookie modifié, se rendre sur le page admin du challenge :

L'accès est effectif, le FLAG est retourné :

Méthode 2

Utiliser un Webhook pour récupérer le cookie.

Se rendre sur le site https://webhook.site/arrow-up-right.

Copier le lien fourni par le site :

Sur le site cible, utiliser la source document.cookie pour récupérer les cookies de l'administrateur :

circle-info

Remplacer url par https://webhook.site/xxxxx selon le lien fourni par le Webhook.

Ici, cela vaut : https://webhook.site/469aab62-d8a9-4004-959e-45305bbdfe8a

Ici, la commande est donc :

On obtiens alors sur le Webhook le cookie de la session administrateur :

On observe à gauche de l'image 2 réponses de la part du serveur. La première contient les cookies de notre session actuelle. Le seconde fourni le nom du cookie de l'administrateur ainsi que sa valeur :

Se connecter au compte administrateur via le cookie relevé :

Modification du cookie de session

Une fois le cookie modifié, se rendre sur le page admin du challenge :

L'accès est effectif, le FLAG est retourné :

Last updated