3 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Travaillez-vous dans une entreprise de cybersécurité? Voulez-vous voir votre entreprise annoncée dans HackTricks? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF? Consultez les PLANS D'ABONNEMENT!
-
Découvrez The PEASS Family, notre collection exclusive de NFTs
-
Obtenez le swag officiel PEASS & HackTricks
-
Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
-
Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Méthode CONNECT
En golang, la bibliothèque net/http transforme généralement le chemin en un chemin canonique avant d'y accéder :
- /flag/ -- Est répondu avec une redirection vers /flag
- /../flag --- Est répondu avec une redirection vers /flag
- /flag/. -- Est répondu avec une redirection vers /flag
Cependant, lorsque la méthode CONNECT est utilisée, cela ne se produit pas. Ainsi, si vous devez accéder à une ressource protégée, vous pouvez exploiter cette astuce :
curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag
La fonction readRequest
est utilisée pour lire une requête HTTP à partir d'une connexion. Cette fonction est appelée par la fonction readRequestHeader
qui lit la première ligne de la requête HTTP et la stocke dans la variable req.Method
, req.URL
, req.Proto
et req.ProtoMajor
. Ensuite, la fonction readRequest
est appelée pour lire le corps de la requête HTTP et le stocker dans la variable req.Body
. Si la requête HTTP contient un corps, la fonction readRequest
utilise la fonction io.LimitReader
pour limiter la taille du corps de la requête à la valeur spécifiée dans la variable maxBytesReader
.