Golang

Support HackTricks

CONNECT विधि

Go प्रोग्रामिंग भाषा में, HTTP अनुरोधों को संभालते समय, विशेष रूप से net/http पुस्तकालय का उपयोग करते समय, अनुरोध पथ को मानकीकृत प्रारूप में स्वचालित रूप से परिवर्तित करने का एक सामान्य अभ्यास है। इस प्रक्रिया में शामिल हैं:

  • स्लैश (/) के साथ समाप्त होने वाले पथ जैसे /flag/ को उनके बिना स्लैश वाले समकक्ष, /flag पर पुनर्निर्देशित किया जाता है।

  • पथ जो निर्देशिका ट्रैवर्सल अनुक्रम जैसे /../flag को शामिल करते हैं, उन्हें सरल बनाया जाता है और /flag पर पुनर्निर्देशित किया जाता है।

  • पथ जिनमें अंतिम अवधि होती है जैसे /flag/. को भी स्वच्छ पथ /flag पर पुनर्निर्देशित किया जाता है।

हालांकि, CONNECT विधि के उपयोग के साथ एक अपवाद देखा जाता है। अन्य HTTP विधियों के विपरीत, CONNECT पथ मानकीकरण प्रक्रिया को सक्रिय नहीं करता है। यह व्यवहार संरक्षित संसाधनों तक पहुँचने के लिए एक संभावित मार्ग खोलता है। curl में --path-as-is विकल्प के साथ CONNECT विधि का उपयोग करके, कोई मानक पथ मानकीकरण को बायपास कर सकता है और संभावित रूप से प्रतिबंधित क्षेत्रों तक पहुँच सकता है।

निम्नलिखित कमांड इस व्यवहार का लाभ उठाने का तरीका प्रदर्शित करता है:

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

HackTricks का समर्थन करें

Last updated