[CTF GEMA] Medium 3
CTF GEMA Groupe 2025
Niveau de Difficulté : Medium
Catégorie du Challenge : Web
Description :
just hack me!
Solutions Steps
Accès à une page interne par un CVE non assigné
- Type d'attaque : Accès interne à une page via un bug dans la mise à jour du WebSocket de Gunicorn (CVE non assigné)
- Description : Gunicorn présentait une vulnérabilité de HTTP Request Smuggling avec une logique de mise à jour de WebSocket non sécurisée qui permettait de faire passer des requêtes lors de l'envoi d'une mise à jour de WebSocket et de contourner les restrictions du frontend. Le bug a été corrigé par la suite sans être assigné à aucun CVE.
En regardant la page web, on remarque un contenu statique avec des fonctionnalités qui ne relèvent pas de la logique du backend, comme la recherche, la connexion, etc...

Si nous essayons de naviguer vers la page /admin
, nous obtiendrons une redirection vers localhost/admin/

Nous tentons donc d'accéder à /admin/
avec une barre oblique à la place et on obtient la réponse 403
.

Si nous regardons les en-têtes des requêtes normales, nous remarquerons que la version gunicorn
est exposée

Avec une recherche rapide, on peut trouver des informations sur les CVEs HRS associés.
Certaines d'entre elles sont liés à notre exploit et d'autres sont inexploitables dans cet environnement.
Vous pouvez consulter ce blog sur la CVE exploitée ici :
https://grenfeldt.dev/2021/04/01/gunicorn-20.0.4-request-smuggling/.
En lisant l'article, nous serons en mesure de construire un PoC pour accéder à la page d'administration en envoyant la requête suivante plusieurs fois :

Flag :
FLAG{Keep_it_up!}