Google+ +1 विजेट उनके आइफ्रेम से कैसे टूटते हैं?


145

किसी तरह, Google+ प्लस-वन विजेट पर मँडरा एक टूलटिप-प्रकार सौदा पेश कर सकता है जो स्पष्ट रूप से उस <iframe>तत्व से बड़ा है जिसमें यह निहित है। मैंने इसकी पुष्टि करने के लिए DOM का निरीक्षण किया है। *

iframe सीमाएँ

इसलिए:

  1. क्या? किस तरह!?

  2. यदि दुर्भावनापूर्ण तरीके से उपयोग किया जाता है, तो क्या यह क्लिकजैकिंग के लिए एक बड़ा अवसर नहीं है? (इन सामाजिक विगेट्स के लिए किसी MITM करने वाले व्यक्ति की कल्पना करें!)

* अद्यतन: मैंने जो देखा वह यह था कि टूलटिप-वाई संदेश एक दूसरे में था , गतिशील रूप से बनाया गया था iframe

जवाबों:


181

Google +1 विजेट जावास्क्रिप्ट है जो आपकी वेबसाइट पर चलता है जो एक निर्माण कर रहा है iframe। यह जावास्क्रिप्ट विजेट आपकी वेबसाइट के संदर्भ में चल रहा है और इसलिए आइफ्रेम के लिए उत्पत्ति वंशानुक्रम नियमों से बाध्य नहीं है । इसलिए यह जावास्क्रिप्ट विजेट मूल साइट पर जो भी DOM ईवेंट चाहता है, उसे सेट कर सकता है, भले ही यह केवल एक साधारण प्रतीत हो iframe

एक और बात, Google एक का उपयोग क्यों कर रहा है iframe? divपेज पर सिर्फ जनरेट क्यों नहीं किया गया? ठीक है क्योंकि लिंक से उत्पन्न होता है iframe, एक CSRF (क्रॉस-साइट अनुरोध जालसाजी) टोकन अनुरोध में एम्बेड किया जा सकता है और मूल साइट इस टोकन को नहीं पढ़ सकती है और अनुरोध को फोर्ज कर सकती है। तो iframeएक CSRF विरोधी उपाय है जो मूल दुर्भावनापूर्ण माता-पिता से खुद को बचाने के लिए उत्पत्ति वंशानुक्रम नियमों पर निर्भर करता है।

हमले के दृष्टिकोण से यह UI-रेड्रेस की तुलना में XSS (क्रॉस-साइट स्क्रिप्टिंग) की तरह है। आप Google को अपनी वेबसाइट पर एक्सेस दे रहे हैं और वे आपके उपयोगकर्ताओं की कुकी को हाईजैक कर सकते हैं या XmlHttpRequestsआपकी वेबसाइट के खिलाफ प्रदर्शन कर सकते हैं यदि वे ऐसा चुनते हैं (लेकिन तब लोग उन्हें दुर्भावनापूर्ण और अमीर होने के लिए मुकदमा करेंगे)।

इस स्थिति में आपको Google पर भरोसा करना होगा, लेकिन Google आप पर भरोसा नहीं करता है।

इन वेब-बगों की गोपनीयता प्रभाव को कम करने के तरीके हैं


महान सामान - मैं आपकी टिप्पणी को फिर से सराहना करता हूं: एक्सएसएस, जो बहुत सारे समझ में आता है। फिर भी मैं कुछ के बारे में निश्चित नहीं हूं। प्रश्न की सामग्री ऐसी दिखती है जैसे कि यह आपके भीतर नहीं है <iframe>, जो आप सुझाव देते हैं कि यह सच हो सकता है (और बताएं कि यह कैसे संभव है)। लेकिन ऐसा नहीं लगता है कि डोम का निरीक्षण करने से, यह मामला है। और यह दुर्भावनापूर्ण माता-पिता के लिए मेरा नाम और जीमेल पता उजागर करेगा (जब तक कि एक दूसरे में लपेटा न जाए iframe)!
एलन एच।

3
@Alan एच। हाँ वे गतिशील विचित्र के साथ कुछ विचित्र सामान कर रहे हैं। क्या आप +1 पर क्लिक करते हैं, आपको वह विंडो मिलेगी जहाँ आप एक टिप्पणी जोड़ते हैं। यदि आप फ़ायरबग को लोड करते हैं और उस तत्व का निरीक्षण करते हैं, तो आपको plusone.google.com/u/0 / _ / + / fastbutton के लिए एक iframe src मिल जाएगा? Url = ... इस iframe में CSRF टोकन शामिल है जो Google + को सबमिट करने के लिए है।
किश्ती

कुछ मामलों में, आप उन्हें httponly के साथ सेट करके कुकी के अपहरण से बच सकते हैं।
seppo0010

1
@ seppo0010 हाँ, लेकिन यह XHR की रोक नहीं है।
किश्ती

3

Google "लीक मानक DIV" को रोकने के लिए iFrames का उपयोग करता है। उनका क्लोजर लाइब्रेरी डायलॉग यही काम करता है। यह शायद सिर्फ इतना है कि अन्य सामग्री +1 बटन में ब्लीड नहीं हो सकती है। http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/dialog.html


जैसा कि रूक ने अपने उत्तर में बताया है, <iframe> का उपयोग Google +1 विजेट कोड का उपयोग करके साइट को रोकने के लिए CSRF हमले का उपयोग करके लिंक पर क्लिक करने के लिए किया जाता है (और साइट की +1 रेटिंग को कृत्रिम रूप से सुधारता है)। यह वह भाग है जहाँ Google आप पर विश्वास नहीं कर रहा है।
मिकको रेंटालिनेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.