hop-by-hop headers

Support HackTricks

यह पोस्ट का सारांश है https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers

Hop-by-hop headers एकल परिवहन-स्तरीय कनेक्शन के लिए विशिष्ट होते हैं, जो मुख्य रूप से HTTP/1.1 में दो नोड्स (जैसे क्लाइंट-प्रॉक्सी या प्रॉक्सी-प्रॉक्सी) के बीच डेटा प्रबंधित करने के लिए उपयोग किए जाते हैं, और इन्हें अग्रेषित करने के लिए नहीं बनाया गया है। मानक hop-by-hop headers में Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade, Proxy-Authorization, और Proxy-Authenticate शामिल हैं, जैसा कि RFC 2616 में परिभाषित किया गया है। अतिरिक्त headers को Connection header के माध्यम से hop-by-hop के रूप में निर्दिष्ट किया जा सकता है।

Hop-by-Hop Headers का दुरुपयोग

प्रॉक्सियों द्वारा hop-by-hop headers का अनुचित प्रबंधन सुरक्षा समस्याओं का कारण बन सकता है। जबकि प्रॉक्सियों से अपेक्षा की जाती है कि वे इन headers को हटा दें, सभी ऐसा नहीं करते, जिससे संभावित कमजोरियाँ उत्पन्न होती हैं।

Hop-by-Hop Header हैंडलिंग के लिए परीक्षण

जब विशिष्ट headers को hop-by-hop के रूप में चिह्नित किया जाता है, तो सर्वर प्रतिक्रियाओं में परिवर्तनों का अवलोकन करके hop-by-hop headers की हैंडलिंग का परीक्षण किया जा सकता है। उपकरण और स्क्रिप्ट इस प्रक्रिया को स्वचालित कर सकते हैं, यह पहचानते हुए कि प्रॉक्सी इन headers का प्रबंधन कैसे करती है और संभावित रूप से गलत कॉन्फ़िगरेशन या प्रॉक्सी व्यवहार को उजागर कर सकते हैं।

Hop-by-hop headers का दुरुपयोग विभिन्न सुरक्षा निहितार्थों का कारण बन सकता है। नीचे कुछ उदाहरण दिए गए हैं जो दिखाते हैं कि कैसे इन headers को संभावित हमलों के लिए हेरफेर किया जा सकता है:

X-Forwarded-For के साथ सुरक्षा नियंत्रणों को बायपास करना

एक हमलावर X-Forwarded-For header को हेरफेर कर सकता है ताकि IP-आधारित पहुंच नियंत्रणों को बायपास किया जा सके। इस header का अक्सर प्रॉक्सियों द्वारा क्लाइंट के मूल IP पते को ट्रैक करने के लिए उपयोग किया जाता है। हालाँकि, यदि एक प्रॉक्सी इस header को hop-by-hop के रूप में मानती है और इसे उचित सत्यापन के बिना अग्रेषित करती है, तो एक हमलावर अपने IP पते को स्पूफ कर सकता है।

हमला परिदृश्य:

  1. हमलावर एक HTTP अनुरोध को एक वेब एप्लिकेशन को भेजता है जो एक प्रॉक्सी के पीछे है, जिसमें X-Forwarded-For header में एक नकली IP पता शामिल है।

  2. हमलावर Connection: close, X-Forwarded-For header भी शामिल करता है, जिससे प्रॉक्सी को X-Forwarded-For को hop-by-hop के रूप में मानने के लिए प्रेरित किया जाता है।

  3. गलत कॉन्फ़िगर की गई प्रॉक्सी अनुरोध को वेब एप्लिकेशन को बिना स्पूफ किए गए X-Forwarded-For header के अग्रेषित करती है।

  4. वेब एप्लिकेशन, मूल X-Forwarded-For header को न देखकर, अनुरोध को सीधे एक विश्वसनीय प्रॉक्सी से आने के रूप में मान सकता है, जिससे अनधिकृत पहुंच की अनुमति मिल सकती है।

Hop-by-Hop Header इंजेक्शन के माध्यम से कैश पॉइज़निंग

यदि एक कैश सर्वर hop-by-hop headers के आधार पर सामग्री को गलत तरीके से कैश करता है, तो एक हमलावर हानिकारक headers को इंजेक्ट कर सकता है ताकि कैश को ज़हर दिया जा सके। इससे उपयोगकर्ताओं को एक ही संसाधन के लिए अनुरोध करते समय गलत या हानिकारक सामग्री मिल सकती है।

हमला परिदृश्य:

  1. एक हमलावर एक वेब एप्लिकेशन को एक hop-by-hop header के साथ अनुरोध भेजता है जिसे कैश नहीं किया जाना चाहिए (जैसे, Connection: close, Cookie)।

  2. खराब कॉन्फ़िगर किया गया कैश सर्वर hop-by-hop header को नहीं हटाता है और हमलावर के सत्र के लिए विशिष्ट प्रतिक्रिया को कैश करता है।

  3. भविष्य के उपयोगकर्ता जब उसी संसाधन के लिए अनुरोध करते हैं, तो उन्हें कैश की गई प्रतिक्रिया मिलती है, जो हमलावर के लिए तैयार की गई थी, जिससे सत्र अपहरण या संवेदनशील जानकारी का खुलासा हो सकता है।

Support HackTricks

Last updated