Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/arnavps/ctf-web-exploitation
ReconnaissanceSécurité des ConteneursAnalyse des VulnérabilitésExploitationScripting et AutomatisationExploitation d'Applications WebSécurité WebFuzzingCTFApprentissage et ÉducationLabs et Pratique
1il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
CTF-Web-Exploitation — Une collection complète de 12 défis d'exploitation web conteneurisés couvrant CVE-2023-25690, les contournements WebAuthn, le smuggling HTTP/3 et les chaînes XSS/RCE avancées | Kitploit
GitHub
arnavps/ctf-web-exploitation

CTF-Web-Exploitation

Une collection complète de 12 défis d'exploitation web conteneurisés couvrant CVE-2023-25690, les contournements WebAuthn, le smuggling HTTP/3 et les chaînes XSS/RCE avancées

Voir le dépôt
Partager

Nether Portal Desync (HUUP)

"Je ne voyage pas sur des routes établies mais je saute librement à travers le vide. Empaquetez-moi mal, et je livrerai un secret à la mauvaise porte."

Description

Le défi présente une application HTTP/3 (QUIC) superposée à UDP. Comme UDP est sans état et que le proxy n'impose pas de limites strictes de requêtes HTTP comme TCP, il est possible de désynchroniser le proxy et le serveur backend. Un attaquant peut faire passer clandestinement une requête HTTP cachée dans une autre requête.

Remarques - la longueur maximale des messages est de 1024 octets, seules les requêtes GET fonctionneront vraiment, et les messages sont supprimés après 10 secondes

Cible : byuctf.xyz:40011

Analyse de vulnérabilité

  • Vulnérabilité : Contrebande de requêtes HTTP (sur UDP/QUIC)
  • Cause racine : Analyse incohérente des limites des charges utiles HTTP entre le proxy frontal et l'application backend dans des protocoles peu fiables.

Dans cette implémentation spécifique, un middleware Python (udp_server.py) écoute sur le port 40000 pour recevoir du texte. Ce serveur transmet les requêtes dès qu'un \r\n\r\n est trouvé au serveur web réel. Comme il s'agit d'UDP, il y a une forte probabilité de livraison partielle des paquets, conduisant à une désynchronisation si plusieurs requêtes sont envoyées rapidement ou si les limites des paquets sont manipulées.

Writeup

Télécharger l’outil

Pour résoudre ce défi, vous devez prendre en compte la nature peu fiable d'UDP et la manière spécifique dont le middleware gère les limites des requêtes.

  1. Reconnaissance : L'accès au point de terminaison racine / révèle un indice sur l'instabilité de la connexion Nether.
  2. Découverte des points de terminaison : Accédez à /endpoints.txt pour trouver une liste de 200 points de terminaison cachés possibles.
  3. Force brute : L'un de ces points de terminaison contient le flag, tandis que trois autres renvoient des faux positifs.
  4. Maîtrise du protocole : En raison du middleware UDP, une requête standard de navigateur peut ne pas recevoir le corps complet de la réponse (seuls les en-têtes peuvent être renvoyés avant que la connexion ne soit fermée ou expirée).
  5. Automatisation : Écrivez un script (voir solve.py) pour envoyer des requêtes HTTP brutes sur UDP à la cible. Le script doit parcourir les points de terminaison et demander chacun d'eux de manière répétée jusqu'à ce qu'une réponse complète (contenant un corps) soit reçue.

Mitigation

  • Assurez-vous que le frontal et le backend utilisent exactement la même logique pour analyser les limites des requêtes.
  • Rejetez toute requête avec des en-têtes de longueur ambigus ou des caractères illégaux dans le flux d'en-têtes.
  • Utilisez des bibliothèques HTTP/3 établies plutôt qu'une logique de transfert UDP vers TCP personnalisée.

Indices

  • Avez-vous cartographié la façon dont le proxy frontal communique avec le proxy arrière ?
  • Vérifiez le protocole utilisé—UDP ne garantit pas la livraison !

Flag

CH4KR4X2{P0D5_bl0ckch41n_br34ch}

Hébergement

Ce défi exécute un serveur Flask sur le port 1337 et udp_server.py sur le port 40000.

Build :

root@kitploit:~
sudo docker build -t huup .
sudo docker network create -d bridge huup

Run :

root@kitploit:~
sudo docker run -p 40011:40000/udp --detach --name huup --network huup huup:latest