Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Méthode CONNECT

Dans le langage de programmation Go, une pratique courante lors du traitement des requĂȘtes HTTP, en utilisant spĂ©cifiquement la bibliothĂšque net/http, est la conversion automatique du chemin de la requĂȘte en un format standardisĂ©. Ce processus implique :

  • Les chemins se terminant par un slash (/) comme /flag/ sont redirigĂ©s vers leur Ă©quivalent sans slash, /flag.
  • Les chemins contenant des sĂ©quences de traversĂ©e de rĂ©pertoires telles que /../flag sont simplifiĂ©s et redirigĂ©s vers /flag.
  • Les chemins avec un point final comme dans /flag/. sont Ă©galement redirigĂ©s vers le chemin propre /flag.

Cependant, une exception est observĂ©e avec l’utilisation de la mĂ©thode CONNECT. Contrairement aux autres mĂ©thodes HTTP, CONNECT ne dĂ©clenche pas le processus de normalisation du chemin. Ce comportement ouvre une voie potentielle pour accĂ©der Ă  des ressources protĂ©gĂ©es. En utilisant la mĂ©thode CONNECT avec l’option --path-as-is dans curl, on peut contourner la normalisation standard du chemin et potentiellement atteindre des zones restreintes.

La commande suivante démontre comment exploiter ce comportement :

curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag

https://github.com/golang/go/blob/9bb97ea047890e900dae04202a231685492c4b18/src/net/http/server.go#L2354-L2364

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks