जब वैध कुकीज़ के लिए कुकी सूची, कुकी है जहाँ से यूआरएल लाए जाने के लिए किया जाएगा मेजबान के इंटरनेट डोमेन नाम के साथ बनाया का डोमेन विशेषताओं का एक तुलना खोज। यदि कोई पूंछ मैच है, तो कुकी मिलान के माध्यम से यह देखने के लिए मिलान करेगी कि यह भेजा जाना चाहिए या नहीं। "पूंछ मिलान" का अर्थ है कि डोमेन विशेषता मेजबान होस्ट के के पूर्ण योग्य डोमेन नाम की पूंछ के विरुद्ध मेल खाती है। "acme.com" का एक डोमेन विशेषता होस्ट नाम "anvil.acme.com" के साथ-साथ "शिपिंग.crate.acme.com" से मेल खाती है। निर्दिष्ट डोमेन के भीतर केवल होस्ट करता है कुकी डोमेन और डोमेन के लिए में डोमेन के डोमेन को रोकने के लिए कम से कम दो (2) या तीन (3) अवधि होनी चाहिए: ".com", "। edu ", और" va.us "। कोई भी डोमेन जो में से किसी एक के भीतर विफल रहता है, नीचे सूचीबद्ध सात विशेष शीर्ष स्तर डोमेन केवल दो अवधि की आवश्यकता है। किसी भी अन्य डोमेन को कम से कम तीन की आवश्यकता है। सात विशेष शीर्ष स्तर डोमेन हैं: "COM", "EDU", "नेट", "ORG", "GOV", "MIL", और "INT"।
डोमेन का डिफ़ॉल्ट मान सर्वर का होस्ट नाम है जो कुकी प्रतिक्रिया उत्पन्न करता है।
here पढ़ें।
आप एक मेजबान से एक आईफ्रेम लोड कर सकते हैं जो उसके बाद सेगमेंट भाग (# के बाद) में एन्कोडेड कुकी मान के साथ पुनः लोड हो जाता है।
तब आप मूल विंडो से दस्तावेज़.लोकेशन विशेषता का उपयोग कर सकते हैं (केवल एक चीज को सुलभ करता है)। इसे डीकोड करें और इसे अपने सर्वर पर AJAX अनुरोध करने के लिए पास करें।
यह ऐसा दिखाई दे सकता है।
xss.php (कुकीज़.example पर स्थित है।कॉम):
<?php
$data = array(
'uid' => $_COOKIE['uid'],
'loginhash' => $_COOKIE['loginhash']);
header('Location: xss.php#'.urlencode(json_encode($data)));
इस विशेष मामले के लिए इसे हैशटैग होने की आवश्यकता नहीं है! यह अन्य स्थितियों के लिए सिर्फ विश्वासयोग्य है। यह जावास्क्रिप्ट में भी किया जा सकता है।
एक अन्य वेबसाइट xss.php एम्बेड करता है:
<iframe id="cookies" src="http://cookies.example.com/xss.php"></iframe>
you need to somehow delay the following of do it in a loop that stops after 5 seconds or something.
if(document.getElementById('cookies').location != 'http://cookies.example.com/xss.php') {
// read location, extract hashtag, json decode using javscript, there you have your user. send it to server for validation or whatever.
}
इस teqnique XSS प्राप्त करने कहा जाता है। यह उदाहरण के लिए फेसबुक द्वारा उनके सभी जावास्क्रिप्ट कनेक्ट पुस्तकालयों के लिए उपयोग किया जाता है।
शायद एक बेहतर तरीका टॉकन एक्सचेंजिंग प्रोटोकॉल जैसे ओपनिड होगा।
अमेज़ॅन इसका भी उपयोग करता है।
आप एक ओपनिड प्रदाता सेट कर सकते हैं (वहां लाइब्रेरी उपलब्ध हैं जो बॉक्स से बाहर कर सकती हैं) और इसे उपयोगकर्ता इंटरैक्शन के बिना वापस स्वचालित रूप से रीडायरेक्ट करने के लिए सेट करें। मैंने अक्सर क्रॉस डोमेन संचार की तरह कुछ अन्य उद्देश्यों के लिए ओपनिड प्रोटोकॉल का उपयोग किया है।
मुझे लगता है कि यह आलेख काफी संक्षेप में बताता है: http://www.codeguru.com/csharp/csharp/cs_internet/article.php/c19417/Sharing-Cookies-Across-Domains.htm – peteski