{{#include ../../banners/hacktricks-training.md}} ## METHOD YA CONNECT Katika lugha ya programu ya Go, ni kawaida kutumia mbinu ya kushughulikia maombi ya HTTP, hasa kwa kutumia maktaba ya `net/http`, ni uongofu wa kiotomatiki wa njia ya ombi kuwa katika muundo wa kawaida. Mchakato huu unajumuisha: - Njia zinazomalizika na slash (`/`) kama `/flag/` zinaelekezwa kwa sawa zisizo na slash, `/flag`. - Njia zinazojumuisha mfuatano wa kusafiri kwenye saraka kama `/../flag` zinarahisishwa na kuelekezwa kwa `/flag`. - Njia zenye kipindi cha mwisho kama katika `/flag/.` pia zinaelekezwa kwa njia safi `/flag`. Hata hivyo, kuna ubaguzi unaonekana na matumizi ya mbinu ya `CONNECT`. Tofauti na mbinu nyingine za HTTP, `CONNECT` haiamsha mchakato wa kuimarisha njia. Tabia hii inafungua njia inayoweza kutumika kupata rasilimali zilizolindwa. Kwa kutumia mbinu ya `CONNECT` pamoja na chaguo la `--path-as-is` katika `curl`, mtu anaweza kupita mchakato wa kawaida wa kuimarisha njia na kwa uwezekano kufikia maeneo yaliyopigwa marufuku. Amri ifuatayo inaonyesha jinsi ya kutumia tabia hii: ```bash curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag ``` [https://github.com/golang/go/blob/9bb97ea047890e900dae04202a231685492c4b18/src/net/http/server.go\#L2354-L2364](https://github.com/golang/go/blob/9bb97ea047890e900dae04202a231685492c4b18/src/net/http/server.go#L2354-L2364) {{#include ../../banners/hacktricks-training.md}}