mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-11 04:38:53 +00:00
13 lines
937 B
Markdown
13 lines
937 B
Markdown
## Método CONNECT
|
|
|
|
En golang, la biblioteca net/http generalmente transforma la ruta a una canónica antes de acceder a ella:
|
|
|
|
* /flag/ -- Se responde con una redirección a /flag
|
|
* /../flag --- Se responde con una redirección a /flag
|
|
* /flag/. -- Se responde con una redirección a /flag
|
|
|
|
Sin embargo, cuando se utiliza el método CONNECT esto no sucede. Por lo tanto, si necesita acceder a algún recurso protegido, puede abusar de este truco:
|
|
```text
|
|
curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag
|
|
```
|
|
El código en el enlace proporcionado muestra la implementación de la función `readRequest` en el paquete `net/http` de Golang. Esta función se encarga de leer y analizar una solicitud HTTP entrante. Si se encuentra un error al leer la solicitud, se devuelve un error y se cierra la conexión. De lo contrario, se devuelve un puntero a una estructura `http.Request` que contiene información sobre la solicitud.
|