BrowExt - XSS Example
आईफ्रेम के माध्यम से क्रॉस-साइट स्क्रिप्टिंग (XSS)
इस सेटअप में, एक कंटेंट स्क्रिप्ट को एक आईफ्रेम को स्थापित करने के लिए लागू किया जाता है, जिसमें एक URL शामिल होता है जिसे आईफ्रेम के स्रोत के रूप में उपयोग किया जाता है:
एक सार्वजनिक एचटीएमएल पेज, message.html
, डॉक्यूमेंट बॉडी में सामग्री डायनामिक रूप से जोड़ने के लिए डिज़ाइन किया गया है जो यूआरएल में पैरामीटर्स पर आधारित है:
एक दुराचारी के पृष्ठ पर एक हानिकारक स्क्रिप्ट को निषेधी किया जाता है, जो Iframe के स्रोत के content
पैरामीटर को संशोधित करता है ताकि एक XSS पेलोड दर्ज किया जा सके। इसे हानिकारक स्क्रिप्ट शामिल करने के लिए Iframe के स्रोत को अपडेट करके प्राप्त किया जाता है:
एक अत्यधिक अनुमति देने वाली सामग्री सुरक्षा नीति जैसे:
जावास्क्रिप्ट का क्रियान्वयन संभव होने देने के कारण, सिस्टम XSS हमलों के लिए वंर्णनशील हो जाता है।
XSS को उत्प्रेरित करने के लिए एक वैकल्पिक दृष्टिकोण एक Iframe तत्व बनाने और उसके स्रोत को हानिकारक स्क्रिप्ट को content
पैरामीटर के रूप में शामिल करने में समाहित करने का है:
DOM-based XSS + ClickJacking
यह उदाहरण मूल पोस्ट लेख से लिया गया था।
मूल मुद्दा एक DOM-आधारित क्रॉस-साइट स्क्रिप्टिंग (XSS) वंरबिलिटी से उत्पन्न होता है जो /html/bookmarks.html
में स्थित है। समस्यात्मक जावास्क्रिप्ट, bookmarks.js
का हिस्सा, नीचे विस्तार से दिया गया है:
This snippet fetches the value from the txtName
input field and uses string concatenation to generate HTML, which is then appended to the DOM using jQuery’s .append()
function.
Typically, the Chrome extension's Content Security Policy (CSP) would prevent such vulnerabilities. However, due to CSP relaxation with ‘unsafe-eval’ and the use of jQuery’s DOM manipulation methods (which employ globalEval()
to pass scripts to eval()
upon DOM insertion), exploitation is still possible.
While this vulnerability is significant, its exploitation is usually contingent on user interaction: visiting the page, entering an XSS payload, and activating the “Add” button.
To enhance this vulnerability, a secondary clickjacking vulnerability is exploited. The Chrome extension's manifest showcases an extensive web_accessible_resources
policy:
महत्वपूर्ण रूप से, /html/bookmarks.html
पेज फ्रेमिंग के लिए संवेदनशील है, इसलिए क्लिकजैकिंग के लिए विकल्प है। इस सुरक्षा कमी का उपयोग करके हमलावर की साइट के भीतर पेज को फ्रेम करने के लिए किया जाता है, जिसमें DOM तत्वों के साथ ओवरले करके इंटरफेस को धोखाधड़ी से पुनरूपित किया जाता है। यह मानिपुलेशन पीड़ितों को अज्ञात रूप से पृष्ठ के साथ अंतर्क्रिया करने की ओर ले जाता है।
संदर्भ
Last updated