mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 07:01:09 +00:00
14 lines
937 B
Markdown
14 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.
|