3.6 KiB
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.
Método CONNECT
Na linguagem de programação Go, uma prática comum ao lidar com requisições HTTP, especificamente usando a biblioteca net/http
, é a conversão automática do caminho da requisição em um formato padronizado. Este processo envolve:
- Caminhos que terminam com uma barra (
/
) como/flag/
são redirecionados para seu equivalente sem barra,/flag
. - Caminhos contendo sequências de travessia de diretório, como
/../flag
, são simplificados e redirecionados para/flag
. - Caminhos com um ponto final, como em
/flag/.
, também são redirecionados para o caminho limpo/flag
.
No entanto, uma exceção é observada com o uso do método CONNECT
. Ao contrário de outros métodos HTTP, CONNECT
não aciona o processo de normalização de caminho. Esse comportamento abre uma potencial avenida para acessar recursos protegidos. Ao empregar o método CONNECT
juntamente com a opção --path-as-is
no curl
, pode-se contornar a normalização padrão de caminho e potencialmente alcançar áreas restritas.
O seguinte comando demonstra como explorar esse comportamento:
curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.