hacktricks/network-services-pentesting/pentesting-web/golang.md
2024-02-10 13:11:20 +00:00

3.6 KiB

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

CONNECT metoda

U Go programskom jeziku, uobičajena praksa pri rukovanju HTTP zahtevima, posebno korišćenjem net/http biblioteke, je automatska konverzija putanje zahteva u standardizovan format. Ovaj proces uključuje:

  • Putanje koje se završavaju kosom crtom (/) poput /flag/ se preusmeravaju na njihovu verziju bez kose crte, /flag.
  • Putanje koje sadrže sekvence pretrage direktorijuma poput /../flag se pojednostavljuju i preusmeravaju na /flag.
  • Putanje sa tačkom na kraju kao što je /flag/. takođe se preusmeravaju na čistu putanju /flag.

Međutim, primećuje se izuzetak pri korišćenju CONNECT metode. Za razliku od drugih HTTP metoda, CONNECT ne pokreće proces normalizacije putanje. Ovo ponašanje otvara potencijalnu mogućnost pristupa zaštićenim resursima. Korišćenjem CONNECT metode zajedno sa opcijom --path-as-is u curl-u, moguće je zaobići standardni proces normalizacije putanje i potencijalno pristupiti ograničenim područjima.

Sledeća komanda demonstrira kako iskoristiti ovo ponašanje:

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

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: