Je suis une théière (Divers) - 404CTF 2022

Je suis une théière (Divers) - 404CTF 2022

Fichiers du challenge Principe:
Trouvez un domaine caché et résolvez un mini-jeu puis déchiffrez le flag en base64

Le challenge

Le challenge nous demande de "retrouver une théière égarée"

Le domaine

Pour un développeur web, un challenge parlant de "théière" amène immédiatement à penser au HTTP 418: I'm a teapot, un poisson d'avril du W3C dans la spécification HTTP
Vous trouverez les fichiers du challenge ici, le HAR devrait permettre aux courageux de recréer la page web

Tentant au pif un sous domaine, tea.404ctf.fr, je tombe sur ça

Certains ont objecté, à la fin du CTF, que les sous-domaines autres que challenge.404ctf.fr et ceux donnés par les challenges étaient hors scope. Donc, ce domaine n'était pas censé être attaquable.
C'est un point de vue qui se défend.

D'autres writeups vous donneront peut-etre d'autres domaines: en pratique, un catch-all DNS est en place sur 404ctf.fr et tout domaine qui n'existe pas sera linké au serveur hébergeant la théière. Notez que c'est de ce genre de catch-all dont gobuster parle avec l'option --wildcard

La théière est en fait sur un catch-all de *.404ctf.fr

Le puzzle

Ce site contient alors un mini-jeu en CSS pur
On résoud ce mini-jeu, en amenant la théière du point de "Départ" jusqu'à la gazinière, au centre

Certains ont brute-forçé ou en résolu ce puzzle via un script. J'ai fait plus simple: partir de la fin (la gazinière) et remonter les chemins possibles. Ca se fait bien. On peut même partir du Départ et de la fin "en même temps" et faire un "meet in the middle" (je vous laisse chercher sur le net, cela vous renseignera aussi sur les failles du 2-DES et la raison de l'existence d'un 3-DES)

Ce challenge illustre l'importance de prendre des screens régulièrement : cela permet de noter facilement, rapidement et sans bouger la souris, les caractères au centre de l'image. Ensuite, ffmpeg -framerate 1 -pattern_type glob -i '*.png' ../theiere-steps.gif permet de convertir cela en GIF pour le writeup

Il est à noter qu'il existe plusieurs chemins pour résoudre ce challenge, puisqu'entre les frames 4 et 5 on a "1 - 1: il est possible de faire des allers-retours entre ces cases ce qui donnerait NDE4X0FfbTFfbT...FfbTR6ZV9pbmdfVGU0UDB0 soit 404CTF{418_A_m1_m1_...m1_m4ze_ing_Te4P0t}

On décode

Comme on n'est pas un utilisateur idiot, on lit l'énoncé du challenge, et on décode alors les caractères qui s'affichaient au centre du puzzle:
NDE4X0FfbTR6ZV9pbmdfVGU0UDB0

Flag

Et on obtient le flag: 404CTF{418_A_m4ze_ing_Te4P0t}
Bonus: comme je suis un utilisateur idiot, j'avais oublié de déchiffrer le flag, et cela m'a valu un fail… mon premier fail même

Fichiers du challenge

↩ Retour à la liste des challenges

⇇ Retour à l'accueil