DOM XSS
DOM सुरक्षा दोष
DOM सुरक्षा दोष उस समय होते हैं जब हमलावार नियंत्रित स्रोतों (जैसे location.search
, document.referrer
, या document.cookie
) से डेटा असुरक्षित रूप से सिंक में स्थानांतरित होता है। सिंक वे फ़ंक्शन या ऑब्जेक्ट होते हैं (जैसे eval()
, document.body.innerHTML
) जो यदि दुर्भाग्यपूर्ण डेटा दिया जाए तो हानिकारक सामग्री का क्रियान्वयन या प्रदर्शन कर सकते हैं।
स्रोत वे इनपुट होते हैं जिन्हें हमलावार द्वारा नियंत्रित किया जा सकता है, जैसे URLs, कुकीज़, और वेब संदेश।
सिंक वे संभावित खतरनाक अंत-बिंदु होते हैं जहाँ दुर्भाग्यपूर्ण डेटा नुकसानकारी प्रभावों में ले जा सकता है, जैसे स्क्रिप्ट क्रियान्वयन।
जोखिम उत्पन्न होता है जब डेटा स्रोत से सिंक में सही मान्यता या सफाई के बिना बहता है, जिससे XSS जैसे हमले संभव होते हैं।
आप https://github.com/wisec/domxsswiki/wiki में अद्यतित स्रोतों और सिंक की सूची पा सकते हैं।
सामान्य स्रोत:
सामान्य सिंक:
जेक्वेरी | |||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
|
|
|
|
|
| |
|
|
| |
|
|
| |
|
| ||
|
| `` | `` |
innerHTML
सिंक किसी भी आधुनिक ब्राउज़र पर स्क्रिप्ट
तत्वों को स्वीकार नहीं करता है, न तो svg onload
घटनाएँ फायर होंगी। इसका मतलब है कि आपको img
या iframe
जैसे वैकल्पिक तत्वों का उपयोग करना होगा।
इस प्रकार का XSS शायद सबसे मुश्किल होता है, क्योंकि आपको JS कोड के अंदर देखना होगा, देखना होगा कि क्या कोई वस्तु है जिसका मान आप नियंत्रित करते हैं, और उस मामले में, यह देखना होगा कि क्या कोई तरीका है जिससे आप इसे अर्बिट्रेरी JS को निष्पादित करने के लिए दुरुपयोग कर सकते हैं।
इन्हें खोजने के लिए उपकरण
उदाहरण
ओपन रीडायरेक्ट
स्रोत: https://portswigger.net/web-security/dom-based/open-redirection
DOM में ओपन रीडायरेक्ट संरक्षितता में खाली रीडायरेक्ट संरक्षितता उस समय होती है जब एक स्क्रिप्ट डेटा लिखता है, जिसे एक हमलावाद नियंत्रित कर सकता है, एक सिंक में जो डोमेन के बीच नेविगेशन प्रारंभ करने की क्षमता रखता है।
यह महत्वपूर्ण है कि अर्बिट्रेरी कोड को निष्पादित करना, जैसे कि javascript:alert(1)
, संभव है अगर आपके पास उस URL के शुरुआत पर नियंत्रण है जहाँ पुनर्निर्देशन होता है।
सिंक:
कुकी मैनिपुलेशन
स्रोत: https://portswigger.net/web-security/dom-based/cookie-manipulation
DOM-आधारित कुकी-मैनिपुलेशन सुरक्षा दोष उत्पन्न होता है जब एक स्क्रिप्ट एक हमलावादी द्वारा नियंत्रित किया जा सकने वाला डेटा कुकी के मान में शामिल करता है। यह दोष यदि कुकी साइट के भीतर उपयोग किया जाता है तो वेबपेज के अप्रत्याशित व्यवहार की ओर ले जा सकता है। इसके अतिरिक्त, इसका शोषण किया जा सकता है ताकि यदि कुकी उपयोगकर्ता सत्रों का ट्रैकिंग में शामिल है तो एक सत्र स्थापना हमला किया जा सकता है। इस दोष से संबंधित मुख्य सिंक है:
सिंक:
जावास्क्रिप्ट इंजेक्शन
From: https://portswigger.net/web-security/dom-based/javascript-injection
DOM-आधारित जावास्क्रिप्ट इंजेक्शन सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट डेटा को चलाता है, जो किसी हमलावर द्वारा नियंत्रित किया जा सकता है, जैसे जावास्क्रिप्ट कोड।
Sinks:
दस्तावेज़-डोमेन मानिपुलेशन
From: https://portswigger.net/web-security/dom-based/document-domain-manipulation
दस्तावेज़-डोमेन मानिपुलेशन सुरक्षा रिक्तियाँ उस समय होती हैं जब एक स्क्रिप्ट document.domain
गुणसूत्र को उस डेटा का उपयोग करके सेट करता है जिस पर हमलावार का नियंत्रण हो सकता है।
document.domain
गुणसूत्र ब्राउज़र्स द्वारा समान-मूल सियासत के निष्पादन में एक महत्वपूर्ण भूमिका निभाता है। जब दो अलग-उत्पत्तियों से दो पृष्ठ अपने document.domain
को एक ही मान पर सेट करते हैं, तो वे प्रतिबंधों के बिना आपस में परस्पर कार्रवाई कर सकते हैं। हालांकि, ब्राउज़र्स document.domain
को सौंपने योग्य मानों पर कुछ सीमाएँ लगाते हैं, वास्तविक पृष्ठ उत्पत्ति को पूरी तरह से असंबंधित मानों को सौंपने से रोकते हैं, अपवाद होते हैं। सामान्यत: ब्राउज़र्स बच्चा या माता-पिता डोमेन का उपयोग करने की अनुमति देते हैं।
सिंक्स:
WebSocket-URL poisoning
From: https://portswigger.net/web-security/dom-based/websocket-url-poisoning
WebSocket-URL poisoning तब होता है जब एक स्क्रिप्ट एक WebSocket कनेक्शन के लिए लक्षित URL के रूप में नियंत्रण योग्य डेटा का उपयोग करता है।
Sinks:
WebSocket
constructor WebSocket-URL poisoning vulnerabilities में ले जा सकता है।
Link manipulation
From: https://portswigger.net/web-security/dom-based/link-manipulation
DOM-based link-manipulation vulnerabilities उत्पन्न होती है जब एक स्क्रिप्ट वर्तमान पृष्ठ में नेविगेशन लक्ष्य के लिए हमलावर-नियंत्रण योग्य डेटा को लिखता है, जैसे क्लिक करने योग्य लिंक या एक फॉर्म के सबमिशन URL।
Sinks:
एजेक्स अनुरोध मानिपुलेशन
From: https://portswigger.net/web-security/dom-based/ajax-request-header-manipulation
एजेक्स अनुरोध मानिपुलेशन सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट एक्सएमएलएचटीपी ऑब्जेक्ट का उपयोग करते हुए जारी किया जाने वाले एजेक्स अनुरोध में हमलावादी-नियंत्रित डेटा लिखता है।
सिंक्स:
स्थानीय फ़ाइल-पथ मेनिपुलेशन
From: https://portswigger.net/web-security/dom-based/local-file-path-manipulation
स्थानीय फ़ाइल-पथ मेनिपुलेशन सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट हमलावादी-नियंत्रित डेटा को एक फ़ाइल-हैंडलिंग API के रूप में filename
पैरामीटर के रूप में पारित करता है। एक हमलावादी द्वारा इस सुरक्षा दोष का शोध किया जा सकता है ताकि वह एक URL का निर्माण कर सके जो, अगर किसी अन्य उपयोगकर्ता द्वारा देखा जाता है, तो उसे उपयोगकर्ता के ब्राउज़र को एक विचित्र स्थानीय फ़ाइल खोलने या लिखने की ओर ले जा सकता है।
Sinks:
क्लाइंट-साइड एसक्यूएल इंजेक्शन
From: https://portswigger.net/web-security/dom-based/client-side-sql-injection
क्लाइंट-साइड एसक्यूएल इंजेक्शन सुरक्षा दोष उस समय होता है जब एक स्क्रिप्ट एक असुरक्षित तरीके से एक अटैकर-नियंत्रित डेटा को क्लाइंट-साइड एसक्यूएल क्वेरी में शामिल करता है।
Sinks:
HTML5-संग्रहन संशोधन
From: https://portswigger.net/web-security/dom-based/html5-storage-manipulation
HTML5-संग्रहन संशोधन सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट हमलावादी-नियंत्रित डेटा को वेब ब्राउज़र के HTML5 संग्रह में संग्रहित करता है (localStorage
या sessionStorage
). यह कार्रवाई स्वतः में एक सुरक्षा दोष नहीं है, लेकिन यह समस्यात्मक हो जाता है अगर एप्लिकेशन उस संग्रहित डेटा को फिर से पढ़ता है और असुरक्षित रूप से प्रसंस्करण करता है। यह एक हमलावादी को स्टोरेज तंत्र का उपयोग करके अन्य DOM-आधारित हमलों को करने की अनुमति देता है, जैसे क्रॉस-साइट स्क्रिप्टिंग और जावास्क्रिप्ट इन्जेक्शन।
Sinks:
XPath अंधाधुंध घुसपैठ
From: https://portswigger.net/web-security/dom-based/client-side-xpath-injection
DOM-आधारित XPath-घुसपैठ सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट एक्सएमएल प्रश्न में हमलावर-नियंत्रित डेटा शामिल करता है।
Sinks:
क्लाइंट-साइड JSON इन्जेक्शन
From: https://portswigger.net/web-security/dom-based/client-side-json-injection
DOM-आधारित JSON-इन्जेक्शन सुरक्षा दोष उस समय होते हैं जब एक स्क्रिप्ट हमलावादी-नियंत्रित डेटा को एक स्ट्रिंग में शामिल करता है जो एक JSON डेटा संरचना के रूप में विश्लेषित किया जाता है और फिर एप्लिकेशन द्वारा प्रसंस्कृत किया जाता है।
Sinks:
वेब-संदेश मानिपुलेशन
From: https://portswigger.net/web-security/dom-based/web-message-manipulation
वेब-संदेश सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट अटैकर-नियंत्रित डेटा को एक अन्य दस्तावेज़ में वेब-संदेश के रूप में भेजता है जो ब्राउज़र के भीतर होता है। एक उदाहरण वेब-संदेश मानिपुलेशन का PortSwigger's Web Security Academy पर मिल सकता है।
Sinks:
postMessage()
वेब संदेश भेजने के लिए विधि एक सुरक्षा दोष की ओर ले जा सकती है अगर संयोजक संदेश प्राप्त करने के लिए घटना सुनने वाले को आने वाले डेटा को एक असुरक्षित तरीके से संभालता है।
DOM-डेटा मानिपुलेशन
From: https://portswigger.net/web-security/dom-based/dom-data-manipulation
DOM-डेटा मानिपुलेशन सुरक्षा दोष उत्पन्न होते हैं जब एक स्क्रिप्ट डोम के भीतर एक क्षेत्र में अटैकर-नियंत्रित डेटा लिखता है जो दृश्यमान यूआई या क्लाइंट-साइड तर्क में उपयोग किया जाता है। एक हमलावर इस सुरक्षा दोष का शिकार बना सकता है ताकि वह एक URL बना सके जिसे अगर किसी अन्य उपयोगकर्ता द्वारा देखा जाता है, तो वह क्लाइंट-साइड यूआई की दिखावट या व्यवहार को बदल सकता है।
Sinks:
सेवा की इनकार
From: https://portswigger.net/web-security/dom-based/denial-of-service
DOM-आधारित सेवा की इनकार वंरणायु तब होती है जब एक स्क्रिप्ट हमलावर-नियंत्रित डेटा को एक समस्यात्मक प्लेटफॉर्म API को असुरक्षित रूप से पारित करता है। इसमें वह API शामिल हैं जो, जब आह्वानित किया जाता है, तो उपयोगकर्ता के कंप्यूटर को अत्यधिक मात्रा में CPU या डिस्क स्थान का उपभोग करने के लिए ले जा सकता है। ऐसी वंरणायु सामर्थ्यपूर्ण परिणाम देने की सामर्थ्य होती हैं, जैसे ब्राउज़र जो वेबसाइट की कार्यक्षमता को प्रतिबंधित करके localStorage
में डेटा संग्रहित करने की कोशिशों को अस्वीकार करने या व्यस्त स्क्रिप्टों को समाप्त करके।
Sinks:
Dom Clobbering
pageDom ClobberingLast updated