hacktricks/pentesting-web/hacking-with-cookies/cookie-tossing.md
2024-02-10 18:14:16 +00:00

6.6 KiB
Raw Blame History

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

ıklama

Bir saldırgan, bir şirketin bir alt alan adını veya alan adını kontrol edebiliyorsa veya bir alt alan adında XSS bulabiliyorsa bu saldırıyı gerçekleştirebilir.

Çerez Hacking bölümünde belirtildiği gibi, bir çerez bir alan adına (belirterek) ayarlandığında, bu çerez alan adında ve alt alan adlarında kullanılacaktır.

{% hint style="danger" %} Bu nedenle, bir saldırgan, belirli bir çerezi alan adına ve alt alan adlarına ayarlayabilecektir document.cookie="session=1234; Path=/app/login; domain=.example.com" gibi bir şey yaparak. {% endhint %}

Bu, saldırganın aşağıdakileri yapabilmesi tehlikeli olabilir:

  • Saldırgan, kurbanın çerezini, kurban fark etmezse, saldırganın hesabına sabitlerse, kurban saldırganın hesabında işlemler gerçekleştirecek ve saldırgan bazı ilginç bilgiler elde edebilir (kurbanın platformdaki arama geçmişini kontrol edin, kurban kredi kartını hesaba ayarlayabilir...)
  • Eğer çerez girişten sonra değişmezse, saldırgan sadece bir çerezi sabitler, kurbanın oturum açmasını bekler ve ardından o çerezi kullanarak kurban olarak oturum açabilir.
  • Eğer çerez başlangıç değeri ayarlanıyorsa (örneğin flask'ta çerez, oturumun CSRF belirteci olan CSRF belirteci'ni ayarlayabilir ve bu değer kurban oturum açtı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 bir CSRF isteği yapmasını sağlayabilir çünkü CSRF belirteci bilinmektedir).

Çerez Sırası

Bir tarayıcı, aynı adı taşıyan iki çerez alırsa ve aynı kapsamı (alan adı, alt alan adları ve yol) kısmen etkiliyorsa, tarayıcı her iki çerezin değerini de istek için geçerliyse gönderecektir.

Hangi çerezin daha spesifik bir yol a sahip olduğuna veya hangisinin daha eski olduğuna bağlı olarak, tarayıcı önce bir çerezin değerini ayarlayacak ve ardından diğer çerezin değerini şu şekilde ayarlayacaktır: Cookie: iduser=MoreSpecificAndOldestCookie; iduser=LessSpecific;

Çoğu web sitesi yalnızca ilk değeri kullanır. Bu nedenle, bir saldırganın bir çerez ayarlamak istemesi durumunda, başka bir çerez ayarlanmadan önce ayarlaması veya daha spesifik bir yol ile ayarlaması daha iyidir.

{% hint style="warning" %} Dahası, daha spesifik bir yol üzerinde bir çerez ayarlayabilme yeteneği çok ilginçtir çünkü kurbanın çerezini belirli bir yolda kötü amaçlı çerez ayarlanmadan önce çalıştırabilme yeteneğine sahip olacaksınız. {% endhint %}

Korumayı Geçme

Bu saldırıya karşı olası koruma, web sunucusunun aynı ada sahip ancak farklı değerlere sahip iki çerezle gelen istekleri kabul etmemesi olabilir.

Saldırganın, kurban zaten çerezi aldıktan sonra bir çerez ayarlaması durumunu atlatmak için, saldırgan bir çerez taşmasına neden olabilir ve ardından, meşru çerez silindiğinde, kötü amaçlı çerezi ayarlayabilir.

{% content-ref url="cookie-jar-overflow.md" %} cookie-jar-overflow.md {% endcontent-ref %}

Başka bir kullanışlı atlatma yöntemi, çerezin adını URL kodlamak olabilir, çünkü bazı korumalar istekte aynı ada sahip 2 çerez kontrol eder ve sunucu çerezlerin adlarını çözer.

Çerez Bombası

Bir Çerez Atma saldırısı aynı zamanda bir Çerez Bombası saldırısı gerçekleştirmek için de kullanılabilir:

{% content-ref url="cookie-bomb.md" %} cookie-bomb.md {% endcontent-ref %}

Savunmalar

Çerez adında __Host ön eki kullanın

  • Bir çerez adı bu ön ekle başlarsa, yalnızca güvenli bir kökten gönderildiyse, Güvenli olarak işaretlendi ve bir Alan özniteliği içermiyorsa ve Yol özniteliği / olarak ayarlandıysa, bir Set-Cookie yönergesinde yalnızca kabul edilecektir
  • Bu, alt alan adlarının bir çerezi zorla kök etki alanına ayarlamasını engeller çünkü bu çerezler "alan kilitli" olarak görülebilir

Referanslar

AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları: