
क्रॉस-साइट लीक (XS-Leaks) के लिए खोजक
XSLeaker एक उपकरण है जो वेबसाइटों पर XS-Leaks खोजने में मदद करता है। यह उपकरण विभिन्न अवस्थाओं के बीच उन संसाधन मानों की तुलना करता है जिनके लिए लीक तकनीक ज्ञात है (जैसे iframes की संख्या)।
XSLeaker दो घटकों से बना है, एक क्रोम एक्सटेंशन जो विभिन्न अवस्थाओं में संसाधन मान एकत्र करने के लिए उपयोग किया जाता है और एक node.js सर्वर जो परिणामों की तुलना और प्रदर्शन करने के लिए उपयोग किया जाता है।
निम्नलिखित संसाधन मानों में अंतर की जाँच की जाती है:
मान लें कि उपयोगकर्ता n विभिन्न अवस्थाओं का परीक्षण करना चाहता है, तो निम्नलिखित सेटअप किया जाना चाहिए:
प्रत्येक अवस्था के लिए एक, n क्रोम प्रोफाइल बनाएं। चूंकि प्रोफाइल पुनः उपयोग की जा सकती हैं, उपयोगकर्ता को केवल तभी नई क्रोम प्रोफाइल बनानी होती है जब n से अधिक अवस्थाओं का परीक्षण किया जाना हो।
प्रत्येक प्रोफाइल के लिए XSLeaker क्रोम एक्सटेंशन स्थापित करें।
यह सेटअप केवल एक बार किया जाना चाहिए, सिवाय जब उपयोगकर्ता n से अधिक अवस्थाओं का परीक्षण करना चाहता हो।
विभिन्न प्रोफाइल के साथ n ब्राउज़र विंडो खोलें।
प्रत्येक विंडो में ब्राउज़र एक्सटेंशन सक्रिय करें। यह पॉपअप में "Activate" बटन के माध्यम से किया जाता है।
वैकल्पिक रूप से, एक अवस्था नाम चुनें (जैसे, व्यवस्थापक खाता)। यह अनुशंसित है क्योंकि यह परिणामों में अवस्थाओं की पहचान करना अधिक आसान बनाता है।
परीक्षण की जाने वाली वेबसाइट के लिए विभिन्न अवस्थाएँ सेट करें, प्रत्येक विंडो के लिए एक (जैसे, विभिन्न उपयोगकर्ताओं के रूप में लॉग इन करना)।
एक विंडो चुनें और पॉपअप विंडो में स्विच के माध्यम से Master Mode सक्रिय करें। अन्य विंडो अब मास्टर विंडो से URL परिवर्तनों का अनुसरण करती हैं।
मास्टर विंडो में, परीक्षण की जाने वाली साइट पर नेविगेट करें। हर अन्य विंडो उसी पृष्ठ पर नेविगेट करती है।
मास्टर विंडो के पॉपअप में "Send Results" बटन पर क्लिक करके परीक्षण शुरू करें।
अंतरों की जाँच करने के लिए Node.js द्वारा प्रदान किए गए वेब इंटरफ़ेस (जैसे http://localhost:3000) पर नेविगेट करें।
उसी वेबसाइट के अगले परीक्षण के लिए, उपयोगकर्ता को केवल मास्टर विंडो के साथ लक्ष्य URL पर नेविगेट करना होता है और "Send Results" बटन को फिर से दबाना होता है।
XSLeaker को क्रिया में देखने के लिए छवि पर क्लिक करें:
node.js के साथ होस्ट किया गया वेब इंटरफ़ेस निम्नलिखित पृष्ठों का है
Results: सबसे हालिया परीक्षण परिणाम दिखाता है
History: पिछले सभी परीक्षण दिखाता है। तालिका में एक पंक्ति पर क्लिक करके परीक्षण के परिणाम दिखाए जाते हैं।
Automation: Automation पृष्ठ उपयोगकर्ता को उन URL की सूची अपलोड करने की अनुमति देता है जिनका परीक्षण किया जाना चाहिए। "Start Test" बटन प्रत्येक कनेक्टेड ब्राउज़र विंडो को एक के बाद एक URL पर नेविगेट करता है और परीक्षण चलाता है। परिणाम history में देखे जा सकते हैं।
नोट: आपको पहले विभिन्न विंडो में उन अवस्थाओं को सेट करना होगा जिनका आप परीक्षण करना चाहते हैं।
वर्तमान में एक बग है कि डेटाबेस में सहेजे गए अंतर हमेशा सही नहीं होते हैं। स्वचालित परीक्षण के बाद परीक्षण परिणामों को देखकर अंतरों की दोबारा जाँच करें।
Test: एक परीक्षण बेंच जिसका उपयोग यह जाँचने के लिए किया जा सकता है कि XSLeaker ठीक से काम कर रहा है या नहीं। http://localhost:3000/tests पर एक अवस्था चुनी जा सकती है। फिर अवस्था-निर्भर गुण सेट किए जा सकते हैं। एक बार विभिन्न अवस्थाओं वाली कई ब्राउज़र विंडो खुल जाने पर, मास्टर विंडो के साथ परीक्षण साइट (http://localhost:3000/tests/testsite) पर नेविगेट करें और परीक्षण चलाएं।

छवि XSLeaker की आर्किटेक्चर दिखाती है। विभिन्न अवस्थाओं वाली विभिन्न ब्राउज़र विंडो WebSockets के माध्यम से node.js एप्लिकेशन से जुड़ती हैं। सर्वर एक वेब इंटरफ़ेस प्रदान करता है जहाँ उपयोगकर्ता परीक्षण परिणाम देख सकता है (देखें XSLeaker वेब इंटरफ़ेस)। सर्वर परीक्षण परिणामों को एक SQLite डेटाबेस में सहेजता है।