mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 00:49:40 +00:00
1.3 KiB
1.3 KiB
Método CONNECT
Em golang, a biblioteca net/http geralmente transforma o caminho em um caminho canônico antes de acessá-lo:
- /flag/ -- É respondido com um redirecionamento para /flag
- /../flag --- É respondido com um redirecionamento para /flag
- /flag/. -- É respondido com um redirecionamento para /flag
No entanto, quando o método CONNECT é usado, isso não acontece. Portanto, se você precisar acessar algum recurso protegido, pode abusar desse truque:
curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag
A função readRequest
é responsável por ler e analisar as requisições HTTP recebidas pelo servidor. Ela é chamada pelo servidor HTTP sempre que uma nova requisição é recebida. A função lê o cabeçalho da requisição e, em seguida, analisa o método HTTP, o caminho do recurso e a versão do protocolo. Se a requisição contiver um corpo, a função também lê e armazena o corpo da requisição. A função retorna um objeto http.Request
que contém todas as informações da requisição.