Golang
Metodo CONNECT
Nel linguaggio di programmazione Go, una pratica comune quando si gestiscono richieste HTTP, specificamente utilizzando la libreria net/http
, è la conversione automatica del percorso della richiesta in un formato standardizzato. Questo processo prevede:
I percorsi che terminano con una barra (
/
) come/flag/
vengono reindirizzati al loro corrispondente senza barra,/flag
.I percorsi che contengono sequenze di traversamento delle directory come
/../flag
vengono semplificati e reindirizzati a/flag
.I percorsi con un punto finale come in
/flag/.
vengono anch'essi reindirizzati al percorso pulito/flag
.
Tuttavia, si osserva un'eccezione con l'uso del metodo CONNECT
. A differenza di altri metodi HTTP, CONNECT
non attiva il processo di normalizzazione del percorso. Questo comportamento apre una potenziale via per accedere a risorse protette. Utilizzando il metodo CONNECT
insieme all'opzione --path-as-is
in curl
, è possibile bypassare la normalizzazione standard del percorso e potenzialmente raggiungere aree riservate.
Il seguente comando dimostra come sfruttare questo comportamento:
Last updated