
traefik CVE के प्रभाव को समझने के लिए एक प्रूफ ऑफ कॉन्सेप्ट
शैडो कॉर्प कैप्चर द फ्लैग (CTF) चैलेंज में आपका स्वागत है! यह चैलेंज सुरक्षा हेडर और HTTP प्रॉक्सी व्यवहार से संबंधित कमजोरियों की पहचान करने और उनका शोषण करने में आपके कौशल का परीक्षण करेगा। आपका मिशन सुरक्षा को बायपास करना और शैडो कॉर्प वेब एप्लिकेशन के भीतर छिपे रहस्यों को उजागर करना है।
आपने शैडो कॉर्प का सार्वजनिक-मुखी वेब इंटरफ़ेस खोज लिया है, जो एक कुख्यात संगठन है जो गुप्त साइबर जासूसी में शामिल है। अफवाह है कि उन्होंने एक सुरक्षित एंडपॉइंट बनाया है जिसे केवल विश्वसनीय अंदरूनी लोग ही एक्सेस कर सकते हैं। हालांकि, यह भी कानाफूसी है कि सही तकनीकों के साथ, आप सिस्टम को इस छिपे हुए एंडपॉइंट को प्रकट करने के लिए धोखा दे सकते हैं और शैडो कॉर्प के रहस्यों को उजागर कर सकते हैं।
आपका कार्य: सुरक्षित एंडपॉइंट तक पहुंचें और छिपा हुआ फ्लैग प्राप्त करें!
यह CTF स्थानीय रूप से चलाया जा सकता है, और आपको वेब एप्लिकेशन को इंस्टॉल और कॉन्फ़िगर करना होगा।
इस एप्लिकेशन को चलाने के लिए docker compose आवश्यक है एंडपॉइंट्स को क्वेरी करने और परीक्षण करने के लिए curl अनुशंसित है।
रिपॉजिटरी को क्लोन करें और प्रोजेक्ट डायरेक्टरी में जाएँ:
cd traefik-CVE-2024-45410-poc
CTF चलाएँ
docker compose up
आपका प्राथमिक लक्ष्य /protected एंडपॉइंट तक पहुंचना और गुप्त फ्लैग प्राप्त करना है। हालांकि, आप देखेंगे कि जब तक कुछ शर्तें पूरी नहीं होतीं, सीधी पहुंच अवरुद्ध है। सिस्टम X-Forwarded-Host हेडर को मान्य करके विश्वसनीय स्रोतों की जाँच करता है।
एप्लिकेशन को केवल localhost (127.0.0.1) से पहुंच की अनुमति देने के लिए डिज़ाइन किया गया है। हालांकि, यदि आप HTTP हेडर की ध्यानपूर्वक जांच करते हैं, तो आप सर्वर को यह विश्वास दिलाने का एक तरीका खोज सकते हैं कि आप एक विश्वसनीय स्रोत हैं। HTTP प्रॉक्सी हेडर और उन्हें कैसे हेरफेर किया जा सकता है, इस पर ध्यान दें।
क्या आपने कभी हॉप-बाय-हॉप हेडर का पता लगाया है? ये हेडर आमतौर पर प्रॉक्सी द्वारा अग्रेषित अनुरोधों के व्यवहार को नियंत्रित या संशोधित करने के लिए उपयोग किए जाते हैं। इन हेडरों को सही ढंग से हेरफेर करके, आप सर्वर को यह समझाने में सक्षम हो सकते हैं कि आप एक विश्वसनीय स्थान से आ रहे हैं, भले ही आप नहीं हों।
Connection हेडर गेम-चेंजर हो सकता है। क्या होगा यदि आप एक ऐसा हेडर पेश कर सकें जिस पर सिस्टम अंतर्निहित रूप से भरोसा करता है? यह देखें कि आप X-Forwarded-Host को इस तरह से शामिल करने के लिए अनुरोध हेडर को कैसे संशोधित कर सकते हैं जिसकी सर्वर को उम्मीद नहीं होगी।
उदाहरण कमांड (गैर-समाधान) यहाँ curl के साथ प्रयोग शुरू करने का एक उदाहरण है:
curl -i http://localhost:5000/protected
यह आपको दिखाएगा कि डिफ़ॉल्ट रूप से पहुंच अस्वीकृत है।
कुछ सिस्टम में, कुछ हेडर को हॉप-बाय-हॉप माना जाता है, जिसका अर्थ है कि वे HTTP अनुरोधों की श्रृंखला में प्रत्येक मध्यस्थ के व्यवहार को नियंत्रित करते हैं। ये हेडर प्रॉक्सी द्वारा हटा दिए जाते हैं या बदल दिए जाते हैं। हालांकि, यदि आप चतुराई से हेडर में हेरफेर करते हैं और सही हॉप-बाय-हॉप हेडर निर्दिष्ट करते हैं, तो आप कुछ सुरक्षा तंत्रों को बायपास करने का एक तरीका खोज सकते हैं। ध्यान इस बात पर दें कि Connection हेडर कैसे काम करता है और आप उन अन्य हेडरों को कैसे प्रभावित कर सकते हैं जो आमतौर पर एक हॉप से आगे अग्रेषित नहीं होते हैं। इससे आपको सर्वर को यह धोखा देने में मदद मिल सकती है कि आप एक विश्वसनीय क्लाइंट हैं।
यह सोचना शुरू करें कि पहुंच प्राप्त करने के लिए अपने अनुरोध को कैसे बदलें। इसका उत्तर इस बात में है कि एप्लिकेशन विश्वसनीय होस्ट हेडर को कैसे संभालता है। याद रखें, हेडर में हेरफेर इस CTF को हल करने की कुंजी हो सकता है।