# BrowExt - ClickJacking {{#include ../../banners/hacktricks-training.md}} ## Basic Information यह पृष्ठ एक ब्राउज़र एक्सटेंशन में ClickJacking सुरक्षा दोष का दुरुपयोग करने जा रहा है।\ यदि आप नहीं जानते कि ClickJacking क्या है, तो देखें: {{#ref}} ../clickjacking.md {{#endref}} एक्सटेंशन में फ़ाइल **`manifest.json`** होती है और उस JSON फ़ाइल में एक फ़ील्ड `web_accessible_resources` होती है। इसके बारे में [Chrome docs](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) एक ब्राउज़र एक्सटेंशन में **`web_accessible_resources`** केवल वेब के माध्यम से ही नहीं, बल्कि एक्सटेंशन के अंतर्निहित विशेषाधिकारों के साथ भी कार्य करते हैं। इसका मतलब है कि उनके पास निम्नलिखित करने की क्षमता है: - एक्सटेंशन की स्थिति बदलना - अतिरिक्त संसाधन लोड करना - ब्राउज़र के साथ एक निश्चित हद तक बातचीत करना हालांकि, यह सुविधा एक सुरक्षा जोखिम प्रस्तुत करती है। यदि **`web_accessible_resources`** के भीतर कोई संसाधन महत्वपूर्ण कार्यक्षमता रखता है, तो एक हमलावर संभावित रूप से इस संसाधन को एक बाहरी वेब पृष्ठ में एम्बेड कर सकता है। इस पृष्ठ पर जाने वाले अनजान उपयोगकर्ता अनजाने में इस एम्बेडेड संसाधन को सक्रिय कर सकते हैं। ऐसी सक्रियता अनपेक्षित परिणामों का कारण बन सकती है, जो एक्सटेंशन के संसाधनों की अनुमतियों और क्षमताओं पर निर्भर करती है। ## PrivacyBadger Example एक्सटेंशन PrivacyBadger में, `skin/` निर्देशिका को `web_accessible_resources` के रूप में घोषित करने से संबंधित एक सुरक्षा दोष की पहचान की गई थी (मूल [ब्लॉग पोस्ट](https://blog.lizzie.io/clickjacking-privacy-badger.html) देखें): ```json "web_accessible_resources": [ "skin/*", "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 वीडियो उदाहरण में देखा जा सकता है। इस कमजोरियों को संबोधित करने के लिए, एक सीधा समाधान लागू किया गया: `web_accessible_resources` की सूची से `/skin/*` को हटा दिया गया। इस परिवर्तन ने यह सुनिश्चित करके जोखिम को प्रभावी ढंग से कम कर दिया कि `skin/` निर्देशिका की सामग्री को वेब-एक्सेसिबल संसाधनों के माध्यम से एक्सेस या हेरफेर नहीं किया जा सकता। फिक्स आसान था: **`web_accessible_resources` से `/skin/*` हटा दें**। ### PoC ```html
.png)