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:
In a clickjacking attack, a user is tricked into clicking an element on a webpage that is either invisible or disguised as a different element. This manipulation can lead to unintended consequences for the user, such as the downloading of malware, redirection to malicious web pages, provision of credentials or sensitive information, money transfers, or the online purchasing of products.
कभी-कभी पृष्ठ लोड करते समय GET पैरामीटर का उपयोग करके एक फॉर्म के फ़ील्ड के मान को भरना संभव होता है। एक हमलावर इस व्यवहार का दुरुपयोग करके एक फॉर्म को मनमाने डेटा से भर सकता है और क्लिकजैकिंग पेलोड भेज सकता है ताकि उपयोगकर्ता बटन सबमिट दबाए।
यदि आपको उपयोगकर्ता से फॉर्म भरवाना है लेकिन आप सीधे उससे कुछ विशिष्ट जानकारी (जैसे ईमेल और या विशिष्ट पासवर्ड जो आप जानते हैं) लिखने के लिए नहीं कहना चाहते, तो आप बस उससे Drag&Drop करने के लिए कह सकते हैं जो आपके नियंत्रित डेटा को लिखेगा जैसे इस उदाहरण में।
यदि आपने एक XSS हमले की पहचान की है जो उपयोगकर्ता को किसी तत्व पर क्लिक करने की आवश्यकता है ताकि XSS को ट्रिगर किया जा सके और पृष्ठ क्लिकजैकिंग के लिए संवेदनशील है, तो आप इसका दुरुपयोग कर सकते हैं ताकि उपयोगकर्ता को बटन/लिंक पर क्लिक करने के लिए धोखा दिया जा सके। उदाहरण: &#xNAN;Yआपने खाते के कुछ निजी विवरणों में एक स्वयं XSS पाया (विवरण जो केवल आप सेट और पढ़ सकते हैं)। इन विवरणों को सेट करने के लिए फॉर्म वाला पृष्ठ संवेदनशील है Clickjacking के लिए और आप GET पैरामीटर के साथ फॉर्म को पूर्व-भरे कर सकते हैं. __एक हमलावर उस पृष्ठ के लिए एक Clickjacking हमला तैयार कर सकता है फॉर्म को 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
Content Security Policy (CSP) एक सुरक्षा उपाय है जो Clickjacking और अन्य कोड इंजेक्शन हमलों को रोकने में मदद करता है, यह निर्दिष्ट करके कि ब्राउज़र को सामग्री लोड करने के लिए कौन से स्रोतों की अनुमति देनी चाहिए।
frame-src
निर्देशफ्रेम के लिए मान्य स्रोतों को परिभाषित करता है।
default-src
निर्देश की तुलना में अधिक विशिष्ट।
यह नीति समान मूल (स्वयं) और https://trusted-website.com से फ़्रेमों की अनुमति देती है।
child-src
निर्देशCSP स्तर 2 में वेब कार्यकर्ताओं और फ़्रेमों के लिए मान्य स्रोत सेट करने के लिए पेश किया गया।
frame-src और worker-src के लिए एक बैकअप के रूप में कार्य करता है।
यह नीति समान मूल (स्वयं) और https://trusted-website.com से फ़्रेम और कार्यकर्ताओं की अनुमति देती है।
उपयोग नोट्स:
अवशेष: child-src को frame-src और worker-src के पक्ष में समाप्त किया जा रहा है।
फ़ॉलबैक व्यवहार: यदि frame-src अनुपस्थित है, तो फ़्रेम के लिए child-src को फ़ॉलबैक के रूप में उपयोग किया जाता है। यदि दोनों अनुपस्थित हैं, तो default-src का उपयोग किया जाता है।
सख्त स्रोत परिभाषा: शोषण को रोकने के लिए निर्देशों में केवल विश्वसनीय स्रोतों को शामिल करें।
हालांकि यह पूरी तरह से सुरक्षित नहीं है, जावास्क्रिप्ट-आधारित फ़्रेम-बस्टिंग स्क्रिप्ट्स का उपयोग एक वेब पृष्ठ को फ़्रेम किए जाने से रोकने के लिए किया जा सकता है। उदाहरण:
टोकन मान्यता: वेब अनुप्रयोगों में एंटी-CSRF टोकन का उपयोग करें ताकि यह सुनिश्चित हो सके कि स्थिति-परिवर्तन करने वाले अनुरोध जानबूझकर उपयोगकर्ता द्वारा किए गए हैं और क्लिकजैक किए गए पृष्ठ के माध्यम से नहीं।
Trickest का उपयोग करें ताकि दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित कार्यप्रवाहों को आसानी से बनाएं और स्वचालित करें। आज ही एक्सेस प्राप्त करें:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)