Golang

Ondersteun HackTricks

CONNECT metode

In die Go-programmeertaal is dit 'n algemene praktyk om HTTP versoeke te hanteer, spesifiek met die gebruik van die net/http biblioteek, om die versoekpad outomaties in 'n gestandaardiseerde formaat om te skakel. Hierdie proses behels:

  • Pade wat eindig met 'n skuif (/) soos /flag/ word herlei na hul nie-skuif teenhanger, /flag.

  • Pade wat katalogus traversie-sekwensies bevat soos /../flag word vereenvoudig en herlei na /flag.

  • Pade met 'n agtereenvolgende punt soos in /flag/. word ook herlei na die skoon pad /flag.

Daar is egter 'n uitsondering met die gebruik van die CONNECT metode. Anders as ander HTTP metodes, aktiveer CONNECT nie die pad normalisering proses nie. Hierdie gedrag open 'n potensiële pad om toegang te verkry tot beskermde hulpbronne. Deur die CONNECT metode saam met die --path-as-is opsie in curl te gebruik, kan 'n mens die standaard pad normalisering omseil en moontlik beperkte areas bereik.

Die volgende opdrag demonstreer hoe om hierdie gedrag te benut:

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

Ondersteun HackTricks

Last updated