Clickjacking
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
एक क्लिकजैकिंग हमले में, एक उपयोगकर्ता को एक वेबपेज पर एक तत्व पर क्लिक करने के लिए धोखा दिया जाता है जो या तो अदृश्य होता है या एक अलग तत्व के रूप में छिपा होता है। यह हेरफेर उपयोगकर्ता के लिए अनपेक्षित परिणामों का कारण बन सकता है, जैसे कि मैलवेयर का डाउनलोड होना, दुर्भावनापूर्ण वेब पृष्ठों पर पुनर्निर्देशन, क्रेडेंशियल या संवेदनशील जानकारी का प्रावधान, पैसे का हस्तांतरण, या उत्पादों की ऑनलाइन खरीदारी।
कभी-कभी एक पृष्ठ लोड करते समय GET पैरामीटर का उपयोग करके एक फॉर्म के फ़ील्ड के मान को भरना संभव होता है। एक हमलावर इस व्यवहार का दुरुपयोग करके एक फॉर्म को मनमाने डेटा से भर सकता है और क्लिकजैकिंग पेलोड भेज सकता है ताकि उपयोगकर्ता बटन सबमिट दबाए।
यदि आपको उपयोगकर्ता से एक फॉर्म भरवाने की आवश्यकता है लेकिन आप सीधे उनसे कुछ विशिष्ट जानकारी (जैसे ईमेल और या विशिष्ट पासवर्ड जो आप जानते हैं) लिखने के लिए नहीं कहना चाहते, तो आप उनसे बस यह कह सकते हैं कि वे Drag&Drop करें कुछ ऐसा जो आपके नियंत्रित डेटा को लिखे जैसे इस उदाहरण में।
यदि आपने एक XSS हमले की पहचान की है जो उपयोगकर्ता को किसी तत्व पर क्लिक करने की आवश्यकता है ताकि XSS को ट्रिगर किया जा सके और पृष्ठ क्लिकजैकिंग के लिए संवेदनशील है, तो आप इसका दुरुपयोग कर सकते हैं ताकि उपयोगकर्ता को बटन/लिंक पर क्लिक करने के लिए धोखा दिया जा सके। उदाहरण: आपने खाते के कुछ निजी विवरणों में एक स्वयं XSS पाया (विवरण जो केवल आप सेट और पढ़ सकते हैं)। उन विवरणों को सेट करने के लिए फॉर्म वाला पृष्ठ क्लिकजैकिंग के लिए संवेदनशील है और आप GET पैरामीटर के साथ फॉर्म को पूर्व-जनित कर सकते हैं। __एक हमलावर उस पृष्ठ के लिए एक क्लिकजैकिंग हमले की तैयारी कर सकता है फॉर्म को XSS पेलोड के साथ पूर्व-जनित करके और उपयोगकर्ता को फॉर्म सबमिट करने के लिए धोखा देकर। तो, जब फॉर्म सबमिट किया जाता है और मानों को संशोधित किया जाता है, तो उपयोगकर्ता XSS को निष्पादित करेगा।
क्लाइंट साइड पर निष्पादित स्क्रिप्ट्स क्लिकजैकिंग को रोकने के लिए क्रियाएँ कर सकती हैं:
सुनिश्चित करना कि एप्लिकेशन विंडो मुख्य या शीर्ष विंडो है।
सभी फ्रेम को दृश्यमान बनाना।
अदृश्य फ्रेम पर क्लिक करने से रोकना।
संभावित क्लिकजैकिंग प्रयासों के लिए उपयोगकर्ताओं का पता लगाना और चेतावनी देना।
हालांकि, ये फ्रेम-बस्टिंग स्क्रिप्ट्स को दरकिनार किया जा सकता है:
ब्राउज़रों की सुरक्षा सेटिंग्स: कुछ ब्राउज़र अपनी सुरक्षा सेटिंग्स या जावास्क्रिप्ट समर्थन की कमी के आधार पर इन स्क्रिप्ट्स को ब्लॉक कर सकते हैं।
HTML5 iframe sandbox
विशेषता: एक हमलावर allow-forms
या allow-scripts
मानों के साथ sandbox
विशेषता सेट करके फ्रेम बस्टर स्क्रिप्ट्स को निष्क्रिय कर सकता है बिना allow-top-navigation
के। यह iframe को यह सत्यापित करने से रोकता है कि क्या यह शीर्ष विंडो है, उदाहरण के लिए,
The allow-forms
और allow-scripts
मान iframe के भीतर क्रियाओं को सक्षम करते हैं जबकि शीर्ष स्तर की नेविगेशन को निष्क्रिय करते हैं। लक्षित साइट की इच्छित कार्यक्षमता सुनिश्चित करने के लिए, हमलों के प्रकार के आधार पर allow-same-origin
और allow-modals
जैसे अतिरिक्त अनुमतियों की आवश्यकता हो सकती है। ब्राउज़र कंसोल संदेश यह मार्गदर्शन कर सकते हैं कि कौन सी अनुमतियाँ अनुमति दी जानी चाहिए।
X-Frame-Options
HTTP प्रतिक्रिया हेडर ब्राउज़रों को <frame>
या <iframe>
में एक पृष्ठ को रेंडर करने की वैधता के बारे में सूचित करता है, जो Clickjacking को रोकने में मदद करता है:
X-Frame-Options: deny
- कोई डोमेन सामग्री को फ्रेम नहीं कर सकता।
X-Frame-Options: sameorigin
- केवल वर्तमान साइट सामग्री को फ्रेम कर सकती है।
X-Frame-Options: allow-from https://trusted.com
- केवल निर्दिष्ट 'uri' पृष्ठ को फ्रेम कर सकता है।
सीमाओं का ध्यान रखें: यदि ब्राउज़र इस निर्देश का समर्थन नहीं करता है, तो यह काम नहीं कर सकता। कुछ ब्राउज़र CSP frame-ancestors निर्देश को प्राथमिकता देते हैं।
CSP में frame-ancestors
निर्देश Clickjacking सुरक्षा के लिए सलाह दी गई विधि है:
frame-ancestors 'none'
- X-Frame-Options: deny
के समान।
frame-ancestors 'self'
- X-Frame-Options: sameorigin
के समान।
frame-ancestors trusted.com
- X-Frame-Options: allow-from
के समान।
उदाहरण के लिए, निम्न CSP केवल उसी डोमेन से फ्रेमिंग की अनुमति देता है:
Content-Security-Policy: frame-ancestors 'self';
अधिक विवरण और जटिल उदाहरण frame-ancestors CSP दस्तावेज़ और Mozilla के CSP frame-ancestors दस्तावेज़ में पाए जा सकते हैं।
child-src
और frame-src
के साथसामग्री सुरक्षा नीति (CSP) एक सुरक्षा उपाय है जो Clickjacking और अन्य कोड इंजेक्शन हमलों को रोकने में मदद करता है, यह निर्दिष्ट करके कि ब्राउज़र को सामग्री लोड करने के लिए कौन से स्रोतों की अनुमति देनी चाहिए।
frame-src
निर्देशफ्रेम के लिए मान्य स्रोतों को परिभाषित करता है।
default-src
निर्देश की तुलना में अधिक विशिष्ट।
यह नीति समान मूल (स्वयं) और https://trusted-website.com से फ़्रेमों की अनुमति देती है।
child-src
निर्देशCSP स्तर 2 में वेब कार्यकर्ताओं और फ़्रेमों के लिए मान्य स्रोत सेट करने के लिए पेश किया गया।
फ़्रेम-स्रोत और कार्यकर्ता-स्रोत के लिए एक बैकअप के रूप में कार्य करता है।
यह नीति समान मूल (स्वयं) और https://trusted-website.com से फ्रेम और कार्यकर्ताओं की अनुमति देती है।
उपयोग नोट्स:
अवशेष: child-src को frame-src और worker-src के पक्ष में समाप्त किया जा रहा है।
फॉलबैक व्यवहार: यदि frame-src अनुपस्थित है, तो फ्रेम के लिए fallback के रूप में child-src का उपयोग किया जाता है। यदि दोनों अनुपस्थित हैं, तो default-src का उपयोग किया जाता है।
सख्त स्रोत परिभाषा: शोषण को रोकने के लिए निर्देशों में केवल विश्वसनीय स्रोतों को शामिल करें।
हालांकि यह पूरी तरह से सुरक्षित नहीं है, जावास्क्रिप्ट-आधारित फ्रेम-बस्टिंग स्क्रिप्ट्स का उपयोग एक वेब पृष्ठ को फ्रेम होने से रोकने के लिए किया जा सकता है। उदाहरण:
टोकन मान्यता: वेब अनुप्रयोगों में एंटी-CSRF टोकन का उपयोग करें ताकि यह सुनिश्चित हो सके कि स्थिति-परिवर्तन करने वाले अनुरोध जानबूझकर उपयोगकर्ता द्वारा किए गए हैं और क्लिकजैक्ड पृष्ठ के माध्यम से नहीं।
Trickest का उपयोग करें ताकि आप आसानी से वर्कफ़्लो बना और स्वचालित कर सकें जो दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित हैं। आज ही एक्सेस प्राप्त करें:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)