# Cookie Tossing {% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %} ### Açıklama Eğer bir saldırgan **bir alt alan adını veya bir şirketin alan adını kontrol edebiliyorsa ya da bir alt alan adında bir XSS bulursa** bu saldırıyı gerçekleştirebilir. Cookies Hacking bölümünde belirtildiği gibi, **bir çerez bir alana (belirterek) ayarlandığında, o alan ve alt alan adlarında kullanılacaktır.** {% hint style="danger" %} Bu nedenle, **bir saldırgan belirli bir çerezi alan ve alt alan adlarına ayarlayabilecektir, bu da şunu yaparak mümkündür:** `document.cookie="session=1234; Path=/app/login; domain=.example.com"` {% endhint %} Bu tehlikeli olabilir çünkü saldırgan: * **Kurbanın çerezini saldırganın hesabına sabitleyebilir**, böylece kullanıcı fark etmezse, **saldırganın hesabında işlemleri gerçekleştirebilir** ve saldırgan bazı ilginç bilgilere ulaşabilir (kullanıcının platformdaki arama geçmişini kontrol etmek, kurbanın hesabında kredi kartı ayarlaması yapması...). * Eğer **çerez giriş yaptıktan sonra değişmiyorsa**, saldırgan sadece **bir çerezi sabitleyebilir (oturum sabitleme)**, kurban giriş yapana kadar bekleyebilir ve sonra **o çerezi kullanarak kurban olarak giriş yapabilir**. * Bazen, oturum çerezleri değişse bile, saldırgan önceki çerezi kullanabilir ve yeni çerezi de alabilir. * Eğer **çerez bazı başlangıç değerleri ayarlıyorsa** (flask'ta olduğu gibi, burada **çerez** oturumun **CSRF token'ını** ayarlayabilir ve bu değer kurban giriş yaptıktan sonra korunur), **saldırgan bu bilinen değeri ayarlayabilir ve sonra bunu kötüye kullanabilir** (bu senaryoda, saldırgan kurbanın CSRF token'ını bildiği için kullanıcıyı bir CSRF isteği gerçekleştirmeye zorlayabilir). * Değeri ayarlamak gibi, saldırgan ayrıca sunucu tarafından üretilen kimlik doğrulaması yapılmamış bir çerezi alabilir, ondan CSRF token'ını alabilir ve bunu kullanabilir. ### Çerez Sırası Bir tarayıcı, **aynı isimde iki çerez aldığında ve bu çerezler aynı kapsamı (alan, alt alanlar ve yol) kısmen etkiliyorsa**, **tarayıcı her iki çerezin değerini de** geçerli olduğu sürece istekte gönderecektir. Kimin **en spesifik yolu** olduğu veya hangisinin **en eski olduğu** dikkate alınarak, tarayıcı **önce çerezin değerini ayarlayacak** ve sonra diğerinin değerini ayarlayacaktır, örneğin: `Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;` Çoğu **web sitesi yalnızca ilk değeri kullanacaktır**. Bu nedenle, bir saldırgan bir çerez ayarlamak istiyorsa, başka bir çerez ayarlanmadan önce ayarlamak veya daha spesifik bir yol ile ayarlamak daha iyidir. {% hint style="warning" %} Ayrıca, **daha spesifik bir yolda çerez ayarlama yeteneği** çok ilginçtir çünkü **kurbanın çerezi ile çalışmasını sağlayabilirsiniz, yalnızca kötü niyetli çerezin ayarlandığı spesifik yol dışında**. {% endhint %} ### Koruma Aşma Bu saldırıya karşı olası bir koruma, **web sunucusunun aynı isimde ancak iki farklı değere sahip iki çerezi kabul etmemesi** olacaktır. Saldırganın kurbanın çerezini aldıktan sonra bir çerez ayarladığı senaryosunu aşmak için, saldırgan bir **çerez taşması** oluşturabilir ve sonra, **geçerli çerez silindikten sonra, kötü niyetli olanı ayarlayabilir**. {% content-ref url="cookie-jar-overflow.md" %} [cookie-jar-overflow.md](cookie-jar-overflow.md) {% endcontent-ref %} Başka bir yararlı **aşma** yöntemi, **çerez adını URL kodlamaktır** çünkü bazı korumalar bir istekte aynı isimde 2 çerez kontrol eder ve ardından sunucu çerez adlarını çözer. ### Çerez Bombası Bir Cookie Tossing saldırısı ayrıca bir **Çerez Bombası** saldırısı gerçekleştirmek için de kullanılabilir: {% content-ref url="cookie-bomb.md" %} [cookie-bomb.md](cookie-bomb.md) {% endcontent-ref %} ### Savunmalar #### **Çerez adında `__Host` ön ekini kullanın** * Eğer bir çerez adı bu ön eki taşıyorsa, **yalnızca** Set-Cookie direktifinde **Güvenli** olarak işaretlenmişse, güvenli bir kaynaktan gönderilmişse, bir Alan niteliği içermiyorsa ve Yol niteliği / olarak ayarlanmışsa **kabul edilecektir**. * **Bu, alt alanların bir çerezi ana alana zorlamasını engeller çünkü bu çerezler "alan kilitli" olarak görülebilir.** ### Referanslar * [**@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) {% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ GCP Hacking'i öğrenin ve pratik yapın: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
HackTricks'i Destekleyin * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
{% endhint %}