2 min read

[CTF GEMA] Medium 4

CTF GEMA Groupe 2025

Niveau de Difficulté : Medium

Catégorie du Challenge : Web

Description :
just hack me!

Solutions Steps

  • Type d'attaque : Incorrect HTTP Pipelining

  • Le CVE référencé est CVE-2021-27577.

  • L'attaquant doit effectuer une HTTP Request smuggling en utilisant TE. et HTTP pipelining pour abuser du comportement incorrect du frontend dans la gestion de la logique de pipelining.
    Par le biais du HRS, l'attaquant accède à la page d'administration interne pour lire le flag dans /admin.php


En regardant le site web, nous avons un site statique avec des fonctionnalités non backend.

Si nous essayons de naviguer vers la page /admin, nous obtenons l'erreur 403.

Nous essayons de voir ce qui pourrait fonctionner avec une chekclist HRS pour le contournement, nous nous retrouvons à utiliser une demande similaire à celle-ci :

Lorsque nous avons fait une requête POST, utilisé transfer-encoding 0 et utilisé pipelining sans utiliser Content-Length, nous avons obtenu une réponse 404 après plusieurs envois. Notez l'absence de r\n à la fin alors que c'est habituellement r\n\r\n. C'est pour s'assurer que nous sommes capables d'injecter la requête dans le même tunnel que notre prochaine requête pour lire la réponse.

Notez aussi que si nous ajoutons Content-Length aux en-têtes, cela n'aura pas vraiment d'importance, nous serons toujours capables de passer notre requête en contrebande et d'obtenir la réponse 404.

Avec cela, si nous essayons d'accéder à /admin, nous obtiendrons le flag

Flag :

FLAG{Make_ME_THE_KING}