Translated ['src/pentesting-web/browser-extension-pentesting-methodology

This commit is contained in:
Translator 2025-04-13 15:16:11 +00:00
parent 0b4c596914
commit bc6bfe8d62

View File

@ -11,15 +11,15 @@
../clickjacking.md
{{#endref}}
एक्सटेंशन में फ़ाइल **`manifest.json`** होती है और उस JSON फ़ाइल में एक फ़ील्ड `web_accessible_resources`ोती है। इसके बारे में [Chrome docs](https://developer.chrome.com/extensions/manifest/web_accessible_resources) में कहा गया है:
एक्सटेंशन में फ़ाइल **`manifest.json`** होती है और उस JSON फ़ाइल में एक फ़ील्ड `web_accessible_resources`ै। यहाँ [Chrome दस्तावेज़ों](https://developer.chrome.com/extensions/manifest/web_accessible_resources) में इसके बारे में क्या कहा गया है:
> ये संसाधन फिर एक वेबपृष्ठ में URL **`chrome-extension://[PACKAGE ID]/[PATH]`** के माध्यम से उपलब्ध होंगे, जिसे **`extension.getURL method`** के साथ उत्पन्न किया जा सकता है। Allowlisted संसाधन उचित CORS हेडर के साथ परोसे जाते हैं, इसलिए वे XHR जैसे तंत्रों के माध्यम से उपलब्ध होते हैं।[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
> ये संसाधन फिर एक वेबपृष्ठ में URL **`chrome-extension://[PACKAGE ID]/[PATH]`** के माध्यम से उपलब्ध होंगे, जिसे **`extension.getURL method`** के साथ उत्पन्न किया जा सकता है। अनुमति प्राप्त संसाधन उचित CORS हेडर के साथ परोसे जाते हैं, इसलिए वे XHR जैसे तंत्रों के माध्यम से उपलब्ध होते हैं।[1](https://blog.lizzie.io/clickjacking-privacy-badger.html#fn.1)
एक ब्राउज़र एक्सटेंशन में **`web_accessible_resources`** केवल वेब के माध्यम से ही नहीं, बल्कि एक्सटेंशन क अंतर्निहित विशेषाधिकारों के साथ भी कार्य करते हैं। इसका मतलब है कि उनके पास निम्नलिखित करने की क्षमता है:
एक ब्राउज़र एक्सटेंशन में **`web_accessible_resources`** केवल वेब के माध्यम से ही नहीं, बल्कि एक्सटेंशन क अंतर्निहित विशेषाधिकारों के साथ भी कार्य करते हैं। इसका मतलब है कि उनके पास निम्नलिखित करने की क्षमता है:
- एक्सटेंशन की स्थिति बदलना
- अतिरिक्त संसाधन लोड करना
- ब्राउज़र के साथ एक निश्चित हद तक इंटरैक्ट करना
- ब्राउज़र के साथ एक निश्चित हद तक बातचीत करना
हालांकि, यह सुविधा एक सुरक्षा जोखिम प्रस्तुत करती है। यदि **`web_accessible_resources`** के भीतर कोई संसाधन महत्वपूर्ण कार्यक्षमता रखता है, तो एक हमलावर संभावित रूप से इस संसाधन को एक बाहरी वेब पृष्ठ में एम्बेड कर सकता है। इस पृष्ठ पर जाने वाले अनजान उपयोगकर्ता अनजाने में इस एम्बेडेड संसाधन को सक्रिय कर सकते हैं। ऐसी सक्रियता अनपेक्षित परिणामों का कारण बन सकती है, जो एक्सटेंशन के संसाधनों की अनुमतियों और क्षमताओं पर निर्भर करती है।
@ -32,9 +32,9 @@
"icons/*"
]
```
इस कॉन्फ़िगरेशन ने एक संभावित सुरक्षा समस्या को जन्म दिया। विशेष रूप से, `skin/popup.html` फ़ाइल, जो ब्राउज़र में PrivacyBadger आइकन के साथ इंटरैक्शन पर रेंडर होती है, को एक `iframe` के भीतर एम्बेड किया जा सकता है। इस एम्बेडिंग का उपयोग उपयोगकर्ताओं को "Disable PrivacyBadger for this Website" पर अनजाने में क्लिक करने के लिए धोखा देने के लिए किया जा सकता है। ऐसा करने से उपयोगकर्ता की गोपनीयता से समझौता होगा क्योंकि PrivacyBadger सुरक्षा को निष्क्रिय कर दिया जाएगा और संभावित रूप से उपयोगकर्ता को बढ़ी हुई ट्रैकिंग का सामना करना पड़ेगा। इस एक्सप्लॉइट का एक दृश्य प्रदर्शन [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm) पर प्रदान किए गए ClickJacking वीडियो उदाहरण में देखा जा सकता है।
यह कॉन्फ़िगरेशन एक संभावित सुरक्षा समस्या की ओर ले गया। विशेष रूप से, `skin/popup.html` फ़ाइल, जो ब्राउज़र में PrivacyBadger आइकन के साथ इंटरैक्शन पर रेंडर होती है, को एक `iframe` के भीतर एम्बेड किया जा सकता है। इस एम्बेडिंग का उपयोग उपयोगकर्ताओं को "Disable PrivacyBadger for this Website" पर अनजाने में क्लिक करने के लिए धोखा देने के लिए किया जा सकता है। ऐसा करने से उपयोगकर्ता की गोपनीयता से समझौता होगा क्योंकि PrivacyBadger सुरक्षा को निष्क्रिय कर दिया जाएगा और संभावित रूप से उपयोगकर्ता को बढ़ी हुई ट्रैकिंग का सामना करना पड़ेगा। इस एक्सप्लॉइट का एक दृश्य प्रदर्शन एक ClickJacking वीडियो उदाहरण में देखा जा सकता है जो [**https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm**](https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm) पर प्रदान किया गया है।
इस कमजोरियों को संबोधित करने के लिए, एक सीधा समाधान लागू किया गया: `web_accessible_resources` की सूची से `/skin/*` को हटा दिया गया। इस परिवर्तन ने यह सुनिश्चित करके जोखिम को प्रभावी ढंग से कम कर दिया कि `skin/` निर्देशिका की सामग्री को वेब-एक्सेसिबल संसाधनों के माध्यम से एक्सेस या हेरफेर नहीं किया जा सकता।
इस कमजोरियों को संबोधित करने के लिए, एक सीधा समाधान लागू किया गया: `web_accessible_resources` की सूची से `/skin/*` को हटा दिया गया। यह परिवर्तन प्रभावी रूप से जोखिम को कम करता है यह सुनिश्चित करके कि `skin/` निर्देशिका की सामग्री को वेब-एक्सेसिबल संसाधनों के माध्यम से एक्सेस या हेरफेर नहीं किया जा सकता।
फिक्स आसान था: **`web_accessible_resources` से `/skin/*` हटा दें**।
@ -75,15 +75,15 @@ src="chrome-extension://ablpimhddhnaldgkfbpafchflffallca/skin/popup.html">
```
## Metamask उदाहरण
A [**ClickJacking के बारे में एक ब्लॉग पोस्ट metamask में यहाँ पाया जा सकता है**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). इस मामले में, Metamask ने इस कमजोरी को ठीक किया यह सुनिश्चित करके कि इसे एक्सेस करने के लिए उपयोग किया जाने वाला प्रोटोकॉल **`https:`** या **`http:`** था (उदाहरण के लिए **`chrome:`** नहीं):
A [**blog post about a ClickJacking in metamask can be found here**](https://slowmist.medium.com/metamask-clickjacking-vulnerability-analysis-f3e7c22ff4d9). इस मामले में, Metamask ने इस कमजोरी को ठीक किया यह सुनिश्चित करके कि इसे एक्सेस करने के लिए उपयोग किया जाने वाला प्रोटोकॉल **`https:`** या **`http:`** था (उदाहरण के लिए **`chrome:`** नहीं):
<figure><img src="../../images/image (21).png" alt=""><figcaption></figcaption></figure>
**Metamask एक्सटेंशन में एक और ClickJacking ठीक किया गया** था कि उपयोगकर्ता **Click to whitelist** कर सकते थे जब एक पृष्ठ को फ़िशिंग होने का संदेह था क्योंकि `“web_accessible_resources”: [“inpage.js”, “phishing.html”]`. चूंकि वह पृष्ठ Clickjacking के प्रति संवेदनशील था, एक हमलावर इसका दुरुपयोग कर सकता था, कुछ सामान्य दिखाकर पीड़ित को इसे व्हाइटलिस्ट करने के लिए क्लिक करने के लिए मजबूर कर सकता था, बिना यह नोटिस किए, और फिर फ़िशिंग पृष्ठ पर वापस जा सकता था जिसे व्हाइटलिस्ट किया जाएगा।
**Metamask एक्सटेंशन में एक और ClickJacking को ठीक किया गया** था कि उपयोगकर्ता **Click to whitelist** कर सकते थे जब एक पृष्ठ को फ़िशिंग होने का संदेह था क्योंकि `“web_accessible_resources”: [“inpage.js”, “phishing.html”]` चूंकि वह पृष्ठ Clickjacking के प्रति संवेदनशील था, एक हमलावर इसका दुरुपयोग कर सकता था, कुछ सामान्य दिखाकर पीड़ित को इसे व्हाइटलिस्ट करने के लिए क्लिक करने के लिए मजबूर कर सकता था, और फिर फ़िशिंग पृष्ठ पर वापस जा सकता था जिसे व्हाइटलिस्ट किया जाएगा।
## Steam इन्वेंटरी हेल्पर उदाहरण
एक ब्राउज़र एक्सटेंशन में **XSS** को **ClickJacking** कमजोरी के साथ कैसे जोड़ा गया है, यह देखने के लिए निम्नलिखित पृष्ठ की जांच करें:
Check the following page to check how a **XSS** in a browser extension was chained with a **ClickJacking** vulnerability:
{{#ref}}
browext-xss-example.md