hacktricks/network-services-pentesting/pentesting-web/golang.md
2024-02-10 18:14:16 +00:00

3.5 KiB
Raw Blame History

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

CONNECT yöntemi

Go programlama dilinde, HTTP isteklerini işlerken, özellikle net/http kütüphanesini kullanırken yaygın bir uygulama, istek yolunu standart bir formata otomatik olarak dönüştürmektir. Bu işlem şunları içerir:

  • /flag/ gibi bir eğik çizgi (/) ile biten yollar, eğik çizgi olmayan karşılıklarına (/flag) yönlendirilir.
  • /../flag gibi dizin gezinme dizilerini içeren yollar basitleştirilir ve /flag'e yönlendirilir.
  • /flag/. gibi bir nokta ile biten yollar da temiz yol olan /flag'e yönlendirilir.

Ancak, CONNECT yönteminin kullanımında bir istisna gözlenir. Diğer HTTP yöntemlerinin aksine, CONNECT yöntemi yol normalizasyon sürecini tetiklemez. Bu davranış, korumalı kaynaklara erişim için potansiyel bir yol açar. CONNECT yöntemini curl'de --path-as-is seçeneğiyle birlikte kullanarak, standart yol normalizasyonunu atlayabilir ve potansiyel olarak kısıtlı alanlara ulaşabilirsiniz.

Aşağıdaki komut, bu davranışı nasıl istismar edeceğinizi göstermektedir:

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

AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları: