hacktricks/pentesting-web/reverse-tab-nabbing.md
Translator workflow 75e8745ba3 Translated to Hindi
2023-11-06 08:38:02 +00:00

11 KiB

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
  • क्या आप साइबर सुरक्षा कंपनी में काम करते हैं? क्या आप अपनी कंपनी को HackTricks में विज्ञापित देखना चाहते हैं? या क्या आपको PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग करने की आवश्यकता है? SUBSCRIPTION PLANS की जांच करें!

  • खोजें The PEASS Family, हमारा विशेष NFTs संग्रह।

  • प्राप्त करें आधिकारिक PEASS & HackTricks swag

  • शामिल हों 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या मुझे Twitter 🐦@carlospolopm** का पालन करें।**

  • हैकिंग ट्रिक्स साझा करें hacktricks repo और hacktricks-cloud repo में PR जमा करके।

विवरण

जब एक हमलावर एक <a टैग के href तर्क को नियंत्रित कर सकता है जिसमें target="_blank" rel="opener" विशेषता होती है और जिसे एक पीड़ित द्वारा क्लिक किया जाएगा, तो हमलावर इस लिंक को अपने नियंत्रण वाली वेब पर (एक विषादी वेबसाइट) इशारा कर सकता है। फिर, जब पीड़ित लिंक पर क्लिक करता है और हमलावर की वेबसाइट तक पहुंचता है, यह विषादी वेबसाइट जावास्क्रिप्ट ऑब्जेक्ट window.opener के माध्यम से मूल पृष्ठ को नियंत्रित कर सकेगी।
यदि पृष्ठ में **rel="opener" नहीं है लेकिन target="_blank" है और इसमें rel="noopener" नहीं है, तो यह भी संक्रमित हो सकता है।

इस व्यवहार का दुरुपयोग करने का एक सामान्य तरीका होगा कि मूल वेब की स्थान को window.opener.location = https://attacker.com/victim.html के माध्यम से हमलावर द्वारा नियंत्रित वेब पर बदल दें जो मूल वेबसाइट की तरह दिखता है, ताकि यह मूल वेबसाइट के लॉगिन फ़ॉर्म की नकल कर सके और उपयोगकर्ता से क्रेडेंशियल्स मांग सके।

हालांकि, ध्यान दें कि जैसा कि हमलावर अब मूल वेबसाइट के विंडो ऑब्जेक्ट को नियंत्रित कर सकता है, वह इसे अन्य तरीकों से दुरुपयोग करके छिपकली जैसे हमलों को कर सकता है (शायद उसे जावास्क्रिप्ट इवेंट्स को संशोधित करके जानकारी को अपने द्वारा नियंत्रित किए गए सर्वर के लिए निकालने के लिए?)।

सारांश

पीछे की ओर लिंक के साथ

जब प्रतिबंध विशेषता का उपयोग नहीं किया जाता है तो माता-पिता और बच्चे के पृष्ठों के बीच का लिंक:

पीछे की ओर लिंक के बिना

प्रतिबंध विशेषता का उपयोग करने पर माता-पिता और बच्चे के पृष्ठों के बीच का लिंक:

उदाहरण

एक फ़ोल्डर में निम्नलिखित पृष्ठों को बनाएं और python3 -m http.server के साथ एक वेब सर्वर चलाएं
फिर, पहुंचें http://127.0.0.1:8000/vulnerable.html, लिंक पर क्लिक करें और ध्यान दें कि मूल वेबसाइट URL बदल जाता है

{% code title="vulnerable.html" %}

<!DOCTYPE html>
<html>
<body>
<h1>Victim Site</h1>
<a href="http://127.0.0.1:8000/malicious.html" target="_blank" rel="opener">Controlled by the attacker</a>
</body>
</html>

{% code title="malicious.html" %}

<!DOCTYPE html>
<html>
<body>
<script>
window.opener.location = "http://127.0.0.1:8000/malicious_redir.html";
</script>
</body>
</html>

{% code title="malicious_redir.html" %}

<!DOCTYPE html>
<html>
<body>
<h1>New Malicious Site</h1>
</body>
</html>

{% endcode %}

पहुँची जा सकने वाली गुणधर्म

दुष्ट साइट केवल निम्नलिखित गुणधर्मों तक ही पहुँच प्राप्त कर सकती है जो ओपनर जावास्क्रिप्ट ऑब्जेक्ट रेफरेंस (जो वास्तव में एक विंडो जावास्क्रिप्ट क्लास इंस्टेंस के लिए एक रेफरेंस है) में होती है जब क्रॉस ऑरिजिन (क्रॉस डोमेन्स) पहुँच की स्थिति में होती है:

  • opener.closed: एक बूलियन मान लौटाता है जो यह दर्शाता है कि एक विंडो बंद की गई है या नहीं।
  • opener.frames: मौजूदा विंडो में सभी आईफ्रेम तत्वों को लौटाता है।
  • opener.length: मौजूदा विंडो में आईफ्रेम तत्वों की संख्या लौटाता है।
  • opener.opener: विंडो को बनाने वाली विंडो के लिए एक रेफरेंस लौटाता है।
  • opener.parent: मौजूदा विंडो के माता-पिता विंडो को लौटाता है।
  • opener.self: मौजूदा विंडो को लौटाता है।
  • opener.top: सबसे ऊपरी ब्राउज़र विंडो को लौटाता है।

यदि डोमेन समान हैं तो दुष्ट साइट विंडो जावास्क्रिप्ट ऑब्जेक्ट रेफरेंस द्वारा प्रकट किए गए सभी गुणधर्मों तक पहुँच प्राप्त कर सकती है।

रोकथाम

रोकथाम सूचनाएँ HTML5 Cheat Sheet में दर्ज की गई हैं।

संदर्भ

{% embed url="https://owasp.org/www-community/attacks/Reverse_Tabnabbing" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥