Translated ['pentesting-web/hacking-with-cookies/cookie-tossing.md'] to

This commit is contained in:
Translator 2024-04-04 08:58:45 +00:00
parent 65101e5947
commit d847f23f7c

View file

@ -2,14 +2,14 @@
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो बनाने के लिए</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* अगर आप अपनी **कंपनी को HackTricks में विज्ञापित करना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर **फॉलो** करें।
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
</details>
@ -21,40 +21,40 @@ HackTricks का समर्थन करने के अन्य तरी
कुकीज हैकिंग खंड में इसका उल्लेख किया गया था, जब **कुकी एक डोमेन पर सेट की जाती है (उसे निर्दिष्ट करते हुए) तो यह डोमेन और सबडोमेन में उपयोग किया जाएगा।**
{% hint style="danger" %}
इसलिए, **हमलावर को डोमेन और सबडोमेन में एक विशिष्ट कुकी सेट करने की क्षमता होगी** जैसे कि `document.cookie="session=1234; Path=/app/login; domain=.example.com"` कुछ ऐसा करके।
इसलिए, **हमलावर को डोमेन और सबडोमेन में एक विशिष्ट कुकी सेट करने की क्षमता होगी** जैसे `document.cookie="session=1234; Path=/app/login; domain=.example.com"` कुछ ऐसा करके।
{% endhint %}
यह खतरनाक हो सकता है क्योंकि हमलावर निम्नलिखित कार्रवाई कर सकता है:
यह खतरनाक हो सकता है क्योंकि हमलावर निम्नलिखित कर सकता है:
* **हमलावर विक्टिम की कुकी को अपने खाते में फिक्स कर सकता है** इसलिए यदि उपयोगकर्ता को पता नहीं चलता है, **तो वह हमलावर के खाते में कार्रवाई करेगा** और हमलावर कुछ दिलचस्प जानकारी प्राप्त कर सकता है (उपयोगकर्ता की खोजों का इतिहास देखें, विक्टिम अपनी क्रेडिट कार्ड को खाते में सेट कर सकता है...)
* **हमलावर विक्टिम की कुकी को अपने खाते में फिक्स कर सकता है** इसलिए अगर उपयोगकर्ता को पता नहीं चलता है, **तो वह हमलावर के खाते में क्रियाएँ करेगा** और हमलावर कुछ दिलचस्प जानकारी प्राप्त कर सकता है (उपयोगकर्ता की खोजों का इतिहास देखें, विक्टिम अपनी क्रेडिट कार्ड को खाते में सेट कर सकता है...)
* यदि **कुकी लॉगिन के बाद भी बदलती नहीं है**, तो हमलावर बस **कुकी को फिक्स कर सकता है (सेशन-फिक्सेशन)**, जब तक विक्टिम लॉग इन नहीं करता है और फिर **उस कुकी का उपयोग करके विक्टिम के रूप में लॉग इन कर सकता है**
* कभी-कभी, यदि सेशन कुकी बदलती है, तो हमलावर पिछली कुकी का उपयोग कर सकता है और वह नई कुकी भी प्राप्त करेगा।
* यदि **कुकी किसी प्रारंभिक मान सेट कर रही है** (जैसे flask में **कुकी** सेशन का **CSRF टोकन सेट** कर सकती है और यह मान विक्टिम लॉग इन करने के बाद भी बना रहेगा), तो **हमलावर इस ज्ञात मान को सेट कर सकता है और फिर इसका दुरुपयोग कर सकता है** (स स्थिति में, हमलावर उपयोगकर्ता को CSRF अनुरोध करने के लिए बना सकता है क्योंकि उसे CSRF टोकन पता है)।
* मान की सेटिंग की तरह, हमलावर अनधिकृत कुकी प्राप्त कर सकता है जो सर्वर द्वारा उत्पन्न की गई है, उससे CSRF टोकन प्राप्त कर सकता है और इसका उपयोग कर सकता है।
* कभी-कभी, यदि सेशन कुकी बदल जाती है, तो हमलावर पिछली कुकी का उपयोग कर सकता है और उसे नया भी प्राप्त होगा।
* यदि **कुकी किसी प्रारंभिक मान सेट कर रही है** (जैसे फ्लास्क में **कुकी** सेशन का **CSRF टोकन सेट** कर सकती है और इस मान को विक्टिम लॉग इन करने के बाद भी बनाए रखेगी), तो **हमलावर इस जाने माने मान को सेट कर सकता है और फिर इसका दुरुपयोग कर सकता है** (स स्थिति में, हमलावर उपयोगकर्ता को CSRF अनुरोध करने के लिए बना सकता है क्योंकि उसे CSRF टोकन पता है)।
* मान की तरह मान सेट करने के साथ, हमलावर सर्वर द्वारा उत्पन्न एक अप्रमाणित कुकी प्राप्त कर सकता है, उससे CSRF टोकन प्राप्त कर सकता है और इसका उपयोग कर सकता है।
### कुकी क्रम
जब एक ब्राउज़र दो कुकीज प्राप्त करता है जिनका नाम **एक ही नाम है और जो एक ही दायरा पर पार्श्विक रूप से प्रभाव डालते हैं** (डोमेन, सबडोमेन और पथ), तो **ब्राउज़र जब उन दोनों कुकीज के लिए अनुरोध करने के लिए मान्य होते हैं तो दोनों कुकीज के मान भेजेगा**।
जब ब्राउज़र को दो कुकीज मिलती हैं जिनका नाम **एक ही है और जो एक ही स्कोप को आंशिक रूप से प्रभावित करती हैं** (डोमेन, सबडोमेन और पथ), तो **ब्राउज़र जब उन दोनों कुकीज के लिए अनुरोध करने के लिए वैध होती हैं तो दोनों कुकीज के मान भेजेगा**।
किसका **सबसे विशिष्ट पथ है** या कौन सबसे **पुराना है**, उसके आधार पर ब्राउज़र **पहले कुकी के मान को सेट करेगा** और फिर दूसरे के मान को सेट करेगा जैसे: `Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;`
अधिकांश **वेबसाइट्स केवल पहले मान का उपयोग करेंगी**। इसलिए, यदि एक हमलावर कुकी सेट करना चाहता है तो उसे से पहले सेट करना बेहतर है या उसे एक अधिक विशिष्ट पथ के साथ सेट करना बेहतर है।
अधिकांश **वेबसाइट्स केवल पहले मान का उपयोग करेंगी**। इसलिए, यदि हमलावर किसी कुकी को सेट करना चाहता है तो उसे उससे पहले सेट करना बेहतर है या उसे एक अधिक विशिष्ट पथ के साथ सेट करना बेहतर है।
{% hint style="warning" %}
इसके अतिरिक्त, **एक कुकी को एक अधिक विशिष्ट पथ में सेट करने की क्षमता** बहुत दिलचस्प है क्योंकि आप विक्टिम को उसकी कुकी के साथ काम करने की क्षमता प्राप्त करेंगे केवल उस विशिष्ट पथ में जहां दुराचारी कुकी सेट की गई होगी उससे पहले भेजी जाएगी
इसके अतिरिक्त, **एक अधिक विशिष्ट पथ में कुकी सेट करने की क्षमता** बहुत दिलचस्प है क्योंकि आप **विक्टिम को उसकी कुकी के साथ काम करने की क्षमता होगी केवल उस विशिष्ट पथ में जहां दुराचारी कुकी सेट की गई होगी**
{% endhint %}
### सुरक्षा उल्लंघन
इस हमले के खिलाफ संभावित सुरक्षा हो सकती है कि **वेब सर्वर दो अलग-अलग मान वाली दो कुकीज के साथ अनुरोध स्वीकार नहीं करेगा**।
इस हमले के खिलाफ संभावित सुरक्षा हो सकती है कि **वेब सर्वर दो अलग-अलग मानों वाली दो कुकीज के साथ अनुरोध स्वीकार नहीं करेगा**।
ब हमलावर विक्टिम को पहले से ही कुकी दी गई होने के बाद एक कुकी सेट कर रहा होता है, तो हमलावर एक **कुकी ओवरफ्लो** का कारण बना सकता है और फिर, एक बार **वैध कुकी हटा दी जाए, दुराचारी कुकी सेट की जाए**।
हां हमलावर विक्टिम को पहले ही कुकी दी गई है और उसके बाद कुकी सेट कर रहा है, उस स्थिति को अनदेखा करने के लिए हमलावर एक **कुकी ओवरफ्लो** का कारण बना सकता है और फिर, एक बार **वैध कुकी हटा दी जाती है, तो दुराचारी कुकी सेट कर सकता है**।
{% content-ref url="cookie-jar-overflow.md" %}
[cookie-jar-overflow.md](cookie-jar-overflow.md)
{% endcontent-ref %}
एक और उपयोगी **ुरक्षा उल्लंघन** यह हो सकता है कि **कुकी के नाम को URL एनकोड करें** क्योंकि कुछ सुरक्षा उल्लंघन एक अनुरोध में एक ही नाम के 2 कुकीज की जांच करते हैं और फिर सर्वर उन कुकीज के नामों को डिकोड करेगा।
एक और उपयोगी **बाईपास** यह हो सकता है कि **कुकी के नाम को URL एनकोड करें** क्योंकि कुछ सुरक्षा उन अनुरोधों के लिए जांच करती है जिनमें दो कुकीज हैं जिनका नाम समान है और फिर सर्वर कुकीज के नामों को डिकोड करेगा।
### कुकी बम
@ -68,14 +68,12 @@ HackTricks का समर्थन करने के अन्य तरी
#### **कुकी नाम में प्रीफिक्स `__Host` का उपयोग करें**
* यदि किसी कुकी का नाम इस प्रीफिक्स के साथ है, तो यह **केवल सेट-कुकी निर्देशिका में स्वीकार किया जाएगा** अगर यह सुरक्षित उत्पादन से भेजा गया है, डोमेन विशेषता शामिल नहीं करता है, और पथ विशेषता को / पर सेट किया गया है
* **यह उपयोगकर्ता को अपेक्षित डोमेन में कुकी को मजबूर नहीं करने देता क्योंकि ये कुकीज "डोमेन-लॉक्ड" के रूप में देखी जा सकती हैं**
* यदि किसी कुकी का नाम इस प्रीफिक्स के साथ है, तो यह **केवल उस सेट-कुकी निर्देशिका में स्वीकार किया जाएगा** अगर यह सुरक्षित अवस्थान से भेजा गया है, डोमेन विशेषता शामिल नहीं करता है, और पथ विशेषता को / पर सेट किया गया है
* **यह उपयोगकर्ता को अपेक्षित डोमेन में कुकी को बाधित करने से रोकता है क्योंकि ये कुकीज "डोमेन-लॉक्ड" के रूप में देखी जा सकती हैं**
### संदर्भ
* [**@blueminimal**](https://twitter.com/blueminimal)
* [**https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers**](https://speakerdeck.com/filedescriptor/the-cookie-monster-in-your-browsers)
* [**https://github.blog/2013-04-09-yummy-cookies-across-domains/**](https://github.blog/2013-04-09-yummy-cookies-across-domains/)
* [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg)
<details
* [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F