Cookie Tossing

Reading time: 4 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin

Açıklama

Eğer bir saldırgan bir alt alan adını veya bir şirketin alanı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, alan ve alt alan adlarında kullanılacaktır.

caution

Bu nedenle, bir saldırgan belirli bir çerezi alan ve alt alan adlarına ayarlayabilecektir, örneğin document.cookie="session=1234; Path=/app/login; domain=.example.com"

Bu tehlikeli olabilir çünkü saldırgan:

  • Mağdurun ç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, mağdurun hesabında kredi kartı ayarlaması yapması...)
  • Eğer çerez giriş yaptıktan sonra değişmiyorsa, saldırgan sadece bir çerezi sabitleyebilir (session-fixation), mağdur giriş yapana kadar bekleyebilir ve ardından o çerezi kullanarak mağdur 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 mağdur giriş yaptıktan sonra korunur), saldırgan bu bilinen değeri ayarlayabilir ve ardından bunu kötüye kullanabilir (bu senaryoda, saldırgan daha sonra kullanıcının CSRF token'ını bildiği için bir CSRF isteği gerçekleştirmesini sağlayabilir).
  • Değeri ayarlamak gibi, saldırgan ayrıca sunucu tarafından oluşturulan 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 ardından 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.

warning

Ayrıca, daha spesifik bir yolda çerez ayarlama yeteneği çok ilginçtir çünkü mağdurun çerezi ile çalışmasını sağlayabilirsiniz, yalnızca kötü niyetli çerezin ayarlandığı spesifik yol dışında.

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 olabilir.

Saldırganın mağdurun çerezini aldıktan sonra bir çerez ayarladığı senaryosunu aşmak için, saldırgan bir çerez taşması oluşturabilir ve ardından, geçerli çerez silindikten sonra, kötü niyetli olanı ayarlayabilir.

Cookie Jar Overflow

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ı çözecektir.

Çerez Bombası

Bir Cookie Tossing saldırısı ayrıca bir Çerez Bombası saldırısı gerçekleştirmek için de kullanılabilir:

Cookie Bomb

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 çerezi ana alana zorlamasını engeller çünkü bu çerezler "alan kilitli" olarak görülebilir.

Referanslar

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin