DOM Invader

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

DOM Invader

DOM Invader एक ब्राउज़र टूल है जो Burp के इनबिल्ट ब्राउज़र में स्थापित है। यह विभिन्न स्रोतों और सिंक्स का उपयोग करके DOM XSS वंशवाद की पहचान करने में मदद करता है, जिसमें वेब संदेश और प्रोटोटाइप पोल्यूशन शामिल हैं। यह टूल एक एक्सटेंशन के रूप में पूर्वानुस्थित है।

DOM Invader ब्राउज़र के DevTools पैनल में एक टैब एकीकृत करता है जो निम्नलिखित कार्य संभावित बनाता है:

  1. DOM XSS परीक्षण के लिए वेबपेज पर नियंत्रणयोग्य सिंक्स की पहचान, संदर्भ और सैनिटाइजेशन विवरण प्रदान करता है।

  2. postMessage() विधि के माध्यम से भेजे गए वेब संदेशों को लॉगिंग, संपादन और पुनः भेजना DOM XSS परीक्षण के लिए। DOM Invader विशेष रूप से तैयार किए गए वेब संदेशों का उपयोग करके सुरक्षा दोषों की स्वचालित पहचान भी कर सकता है।

  3. क्लाइंट-साइड प्रोटोटाइप पोल्यूशन स्रोतों की पहचान और जोखिमपूर्ण सिंक्स को भेजे गए नियंत्रणयोग्य गैजेट्स की जांच।

  4. DOM clobbering वंशवाद की पहचान

इसे सक्षम करें

Burp के इनबिल्ट ब्राउज़र में जाएं और Burp एक्सटेंशन को सक्षम करें:

अब पृष्ठ को रीफ्रेश करें और Dev Tools में आपको DOM Invader टैब मिलेगा:

एक कैनेरी इंजेक्ट करें

पिछली छवि में आप एक रैंडम ग्रुप ऑफ चार्स देख सकते हैं, जो कैनेरी है। अब आपको इसे वेब के विभिन्न हिस्सों में इंजेक्ट करना चाहिए (पैराम्स, फॉर्म्स, यूआरएल...) और प्रत्येक बार खोजने पर क्लिक करना चाहिए। DOM Invader यह जांचेगा कि क्या कैनेरी किसी दिलचस्प सिंक में समाप्त हो गई जो शोषित किया जा सकता है।

इसके अतिरिक्त, विकल्प Inject URL params और Inject forms स्वचालित रूप से एक नया टैब खोलेंगे जिसमें वह कैनेरी प्रत्येक URL पैराम और फॉर्म में इंजेक्ट करेगा।

एक खाली कैनेरी इंजेक्ट करें

यदि आप बस पृष्ठ पर संभावित सिंक्स की खोज करना चाहते हैं, भले ही वे शोषणीय न हों, तो आप एक खाली कैनेरी के लिए खोज सकते हैं

संदेश भेजें

DOM Invader वेब संदेश का उपयोग करके DOM XSS के लिए परीक्षण करने की अनुमति देता है जिसमें निम्नलिखित विशेषताएँ शामिल हैं:

  1. postMessage() के माध्यम से भेजे गए वेब संदेशों को लॉगिंग, जो Burp Proxy के HTTP अनुरोध/प्रतिक्रिया इतिहास लॉगिंग के समान है।

  2. संदेश को संशोधित और पुनः जारी करना DOM XSS के लिए मैन्युअल परीक्षण करने के लिए, जो Burp Repeater के कार्य के समान है।

  3. DOM XSS के लिए स्वचालित परिवर्तन और संदेश भेजना।

संदेश विवरण

प्रत्येक संदेश के बारे में विस्तृत जानकारी देखी जा सकती है जिसमें शामिल है कि क्या क्लाइंट-साइड जावास्क्रिप्ट संदेश का origin, data, या source गुणों तक पहुंचता है।

  • origin : यदि संदेश की मूल सूचना की जाँच नहीं है, तो आप किसी भी विचित्र बाह्य डोमेन से घटना हैंडलर को क्रॉस-अधिकार संदेश भेज सकते हैं। लेकिन यदि यह जांचा गया है तो यह अज्ञात नहीं हो सकता।

  • data: यहाँ डेटा भेजा जाता है। यदि यह डेटा उपयोग नहीं होता है, तो सिंक अनावश्यक है।

  • source: मूल संपत्ति, सामान्यत: एक आईफ्रेम को संदर्भित करते हुए, क्या मूल्यांकन किया गया है यह निर्धारित करता है। यदि यह जांचा गया है, तो यह यह नहीं दर्शाता कि मूल्यांकन को छल सकता है।

संदेश का उत्तर दें

  1. संदेश देखने के लिए संदेश व्यू पर किसी भी संदेश पर क्लिक करें।

  2. आवश्यकतानुसार डेटा फील्ड को संपादित करें।

  3. भेजें पर क्लिक करें।

प्रोटोटाइप पोल्यूशन

DOM Invader भी प्रोटोटाइप पोल्यूशन वंशवाद की खोज कर सकता है। पहले, आपको इसे सक्षम करना होगा:

फिर, यह स्रोतों की खोज करेगा जो आपको Object.prototype में विभिन्न गुण जोड़ने की अनुमति देते हैं।

यदि कुछ मिलता है तो एक परीक्षण बटन दिखाई देगा जिसे पाए गए स्रोत का परीक्षण करने के लिए क्लिक करें। इस पर क्लिक करें, एक नया टैब दिखाई देगा, कंसोल में एक ऑब्जेक्ट बनाएं और जांचें कि testproperty मौजूद है:

let b = {}
b.testproperty

एक बार जब आपने एक स्रोत खोज लिया है तो आप गैजेट के लिए स्कैन कर सकते हैं:

  1. DOM Invader एक नया टैब खोलता है जब स्कैन के लिए गैजेट बटन, जो DOM व्यू में किसी भी पहचानी गई प्रोटोटाइप प्रदूषण स्रोत के बगल में पाया जा सकता है, क्लिक किया जाता है। फिर उपयुक्त गैजेट्स के लिए स्कैनिंग शुरू हो जाती है।

  2. उसी समय, उसी टैब में, DOM Invader टैब को DevTools पैनल में खोलना चाहिए। स्कैन पूरा होने के बाद, पहचानी गैजेट्स के माध्यम से पहुंचने वाले किसी भी sinks को DOM व्यू में प्रदर्शित किया जाता है। उदाहरण के रूप में, एक गैजेट प्रॉपर्टी जिसका नाम html है और जो innerHTML sink में पारित किया जा रहा है, नीचे दिए गए उदाहरण में दिखाया गया है।

DOM clobbering

पिछली छवि में देखा जा सकता है कि DOM clobbering स्कैन को चालू किया जा सकता है। एक बार किया जाए, DOM Invader DOM clobbering विकल्पों के लिए खोज शुरू कर देगा।

संदर्भ

Last updated