Golang

Support HackTricks

METHOD YA CONNECT

Katika lugha ya programu ya Go, mazoea ya kawaida wakati wa 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 kwenye sawa zisizo na slash, /flag.

  • Njia zinazojumuisha mfuatano wa kupita kwenye saraka kama /../flag zinarahisishwa na kuelekezwa kwenye /flag.

  • Njia zenye kipindi cha mwisho kama katika /flag/. pia zinaelekezwa kwenye njia safi /flag.

Hata hivyo, kuna ubaguzi unaoshuhudiwa na matumizi ya njia ya CONNECT. Tofauti na njia nyingine za HTTP, CONNECT haisababishi mchakato wa kawaida wa njia. Tabia hii inafungua njia inayoweza ya kufikia rasilimali zilizolindwa. Kwa kutumia njia ya CONNECT pamoja na chaguo la --path-as-is katika curl, mtu anaweza kupita mchakato wa kawaida wa njia na kwa uwezekano kufikia maeneo yaliyopigwa marufuku.

Amri ifuatayo inaonyesha jinsi ya kutumia tabia hii:

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

Support HackTricks

Last updated