2008-10-23 25 views
13

पढ़ना this blog post about HttpOnly cookies मुझे सोचना शुरू कर दिया, क्या यह किसी भी प्रकार के कुकी के लिए एक्सएसएस के किसी भी रूप से प्राप्त किया जा सकता है? जेफ का उल्लेख है कि यह "बार को काफी बढ़ाता है" लेकिन यह ध्वनि बनाता है जैसे कि यह पूरी तरह से एक्सएसएस के खिलाफ सुरक्षा नहीं करता है।क्या एक्सएसएस हमले के लिए केवल कुकीज़ प्राप्त करने के लिए यह संभव है?

इस तथ्य के अलावा कि सभी ब्राउज़र इस सुविधा का सही ढंग से समर्थन नहीं करते हैं, तो एक हैकर उपयोगकर्ता की कुकीज़ कैसे प्राप्त कर सकता है अगर वे केवल हैं?

मैं किसी भी तरह से कुकी को किसी अन्य साइट पर भेजने या स्क्रिप्ट द्वारा पढ़ने के लिए किसी भी तरह से नहीं सोच सकता, इसलिए ऐसा लगता है कि यह एक सुरक्षित सुरक्षा सुविधा है, लेकिन मैं हमेशा आश्चर्यचकित हूं कि कुछ लोग कितनी आसानी से कई सुरक्षा परतों के आसपास काम कर सकते हैं।

पर्यावरण में मैं काम करता हूं, हम आईई का विशेष रूप से उपयोग करते हैं ताकि अन्य ब्राउज़र चिंता न करें। मैं विशेष रूप से अन्य तरीकों से देख रहा हूं कि यह एक ऐसा मुद्दा बन सकता है जो ब्राउज़र विशिष्ट त्रुटियों पर भरोसा न करें।

उत्तर

19

सबसे पहले, जैसा कि कुछ अन्य लोगों ने उल्लेख किया है, एक्सएसएस अन्य पेलोड की अनुमति दे सकता है, केवल कुकी चोरी नहीं।

लेकिन, है, वहीं भी एक्सएसएस के साथ httpOnly कुकीज़ चुरा लेने के लिए?(httpOnly समर्थन के सवाल को अनदेखा कर रहे हैं?) .... उत्तर है: हां।
एक्सएसएस का एक सबसेट Cross-Site Tracing (XST) के रूप में जाना जाता है (या मूल research paper पर जाएं)। इस हमले में एक्सएसएस पेलोड वेब सर्वर (या proxy, आगे या पीछे) के लिए एक HTTP ट्रैक अनुरोध भेजता है, जो क्लाइंट को पूर्ण अनुरोध को वापस प्रतिबिंबित करेगा - आपकी कुकीज, httpOnly या नहीं। XSS पेलोड तो लौटे जानकारी पार्स कर सकते हैं, और उन स्वादिष्ट कुकीज़ को पुनः प्राप्त ...


Btw, अभी तक एक और "सबसेट" XSS की (थोड़े), प्रतिक्रिया हेडर में पेलोड इंजेक्शन शामिल है। हालांकि, यह बिल्कुल एक्सएसएस नहीं है, और हेडर इंजेक्शन HTTP Response Splitting (HRS) तक भी जा सकता है - जो कि अधिक शक्तिशाली है, अन्य ग्राहकों के पूर्ण नियंत्रण, कैश विषाक्तता, और निश्चित रूप से कुकीज़ की पहुंच के लिए अनुमति देता है, यदि ऐसा कामना है।

-1

पैकेट स्नीफिंग http पर प्रेषित कुकीज़ को पढ़ सकता है। लेकिन यह एक्सएसएस के तहत नहीं आ सकता है।

+0

पैकेट स्नीफिंग कर सकता है, लेकिन मेरे मामले में मैं एक डिजिटल सर्टिफिकेट के साथ एक HTTPS कनेक्शन का उपयोग कर रहा हूं, जो इसे पैकेट को सख्त करने में थोड़ा मुश्किल बनाता है। –

4

यदि ब्राउज़र पूरी तरह से समझ में नहीं आता है, तो हमला सफल होता है।संपादित करें: ठीक है, आप चिंतित नहीं हैं। यह ठीक है, लेकिन मैं सिर्फ इस संदर्भ को संदर्भ के लिए छोड़ दूंगा। यह स्पष्ट रूप से यह बताने के लिए उपयोगी है।

नेटवर्क को स्नीफ करने के अलावा चोरी करने का एक और तरीका उपयोगकर्ता के कंप्यूटर पर प्रत्यक्ष नियंत्रण होगा। फिर कुकीज़ को एक फाइल से पढ़ा जा सकता है। यदि यह एक सत्र कुकी है, तो ब्राउजर बंद होने के बाद इसे निश्चित रूप से हटा दिया जाएगा।

वैसे, सत्र कुकी चोरी करना एक्सएसएस हमले का एकमात्र संभव "पेलोड" नहीं है। उदाहरण के लिए यह आपके सीएसआरएफ संरक्षण को बेकार बना सकता है। यह उपयोगकर्ता को धोखा देने के लिए आपकी साइट की सामग्री को बदल सकता है। और कई अन्य दुर्भावनापूर्ण चीजें।

तो बेहतर एक अच्छा तरीका में स्वयं को सुरक्षित (उत्पादन से बचने), और अतिरिक्त परत संरक्षण के के रूप में केवल Http बारे में सोचते हैं।

1

एचटीपी केवल कुकीज़ का उपयोग उन कुकीज़ को प्राप्त करने से एक्सएसएस हमलों को रोक देगा।

जब तक:

  • आपके ब्राउज़र का समर्थन नहीं करता केवल Http
  • ब्राउज़र जो टूट जाता है केवल Http में एक अब तक अज्ञात जोखिम है
  • सर्वर समझौता किया गया है (लेकिन तो आप शायद वैसे भी hosed हो)।

जैसा कि एक और पोस्टर ने नोट किया है: एक्सएसएस वहां एकमात्र खतरा नहीं है, और कुकीज़ को पकड़ना एक्सएसएस से एकमात्र खतरा नहीं है। मुझे यकीन है कि आप यह जानते थे - मैं बस पूरा हो रहा हूँ!

शुभकामनाएं!

0

जावास्क्रिप्ट, इस पृष्ठ के HTML संशोधित कर सकते हैं इसलिए, केवल Http नहीं मतलब है कि आप XSS के खिलाफ सुरक्षित हैं करता है।

+0

मैं समझता हूं कि एक्सएसएस अन्य हमले वैक्टरों का फायदा उठा सकता है। मैं विशेष रूप से कुकीज़ के बारे में पूछ रहा था क्योंकि मुझे पता नहीं था कि जावास्क्रिप्ट के माध्यम से httpOnly कुकीज़ प्राप्त करने के तरीके थे। –

संबंधित मुद्दे