
Son yıllarda web tabanlı saldırılar giderek daha karmaşık hale geldi. Siber güvenlik dünyasında yeni keşfedilen “Cookie Sandwich” tekniği, HttpOnly bayrağı ile korunan çerezlerin (cookies) ele geçirilmesine olanak tanıyarak, web uygulamalarını ciddi bir şekilde tehdit ediyor. Bu makalede, çerezlerin ne olduğunu, HttpOnly çerezlerin nasıl çalıştığını ve bu yeni saldırının detaylarını inceleyeceğiz.
Çerez Nedir?
Çerezler, bir web sitesi tarafından kullanıcı tarayıcısında depolanan küçük veri parçacıklarıdır. Bu veri parçaları, kullanıcıların oturum bilgilerini, tercihlerini ve diğer küçük bilgileri saklamak için kullanılır.
Çerezlerin Kullanım Alanları
- Oturum Yönetimi: Kullanıcı giriş bilgilerini saklamak için.
- Kişiselleştirme: Kullanıcının dil veya tema tercihini hatırlamak için.
- İzleme ve Analiz: Kullanıcının site üzerindeki davranışlarını analiz etmek için.
HttpOnly Çerez Nedir?
HttpOnly, çerezlere eklenebilecek bir bayraktır. Bu bayrak, çerezlerin yalnızca HTTP(S) protokolü üzerinden erişilebilir olmasını sağlar ve JavaScript gibi istemci tarafı betiklerin bu çerezlere erişmesini engeller.
HttpOnly Bayrağının Önemi
HttpOnly çerezler, özellikle XSS (Cross-Site Scripting) saldırılarına karşı bir savunma katmanı sunar. Normal şartlarda JavaScript kodu ile document.cookie
kullanılarak bir çereze erişilebilir. Ancak bir çerez HttpOnly olarak işaretlenmişse, JavaScript bu çereze erişemez.
Örnek:
Set-Cookie: sessionId=abc123; HttpOnly;
Bu çerez, tarayıcıda depolanacak ve yalnızca HTTP istekleri ile gönderilebilecektir.
Cookie Sandwich Saldırısının Detayları
“Cookie Sandwich” tekniği, saldırganların HttpOnly çerezlere erişim sağlamak için kullandığı yeni ve sofistike bir yöntemdir. Bu saldırı, web sunucularının çerezleri işleme biçimindeki zafiyetlerden faydalanır. İşte saldırının aşamaları:
1. Eski Çerez Standartlarının İstismarı
- Bazı tarayıcılar ve sunucular hala eski çerez standartlarını (örneğin RFC2109) desteklemektedir.
- Bu standartlar, çerezlerde özel karakterler ve tırnak işaretleri gibi eski özelliklerin kullanılmasına izin verir.
2. Çerezlerin Manipülasyonu
Saldırganlar, çerezleri manipüle ederek çerez sınırlarını karıştırabilir. Örneğin:
document.cookie = `$Version=1;`;
document.cookie = `param1="start`;
document.cookie = `param2=end";`;
Bu manipülasyon, sunucu tarafından şu şekilde işlenebilir:
Cookie: $Version=1; param1="start; sessionId=secret; param2=end";
3. HttpOnly Çerezlerin Açığa Çıkması
Sunucu, bu manipüle edilmiş çerezleri istemciye geri yansıttığında hassas veriler açığa çıkabilir:
HTTP/1.1 200 OK
Set-Cookie: param1="start; sessionId=secret; param2=end";
Eğer uygulama HttpOnly
bayrağını düzgün bir şekilde uygulamıyorsa veya kullanıcı verisini güvenli bir şekilde işleyemiyorsa, saldırganlar bu çerezleri ele geçirebilir.
Saldırıdan Etkilenen Teknolojiler ve Örnek Senaryolar
- Flask Framework: Tırnak işaretli çerezleri varsayılan olarak desteklediği için “Cookie Sandwich” saldırılarına karşı savunmasızdır.
- Apache Tomcat: Eski çerez standartlarını desteklediğinden, saldırganların bu tekniği kullanarak güvenlik standartlarını düşürmesine izin verebilir.
Örnek Gerçek Dünya Senaryosu:
- Bir takip uygulamasında kullanılan çerezler yansıtıldı.
- Saldırgan, çapraz kaynaklı bir istek ile sunucuyu manipüle etti ve HttpOnly olarak işaretlenmiş bir PHPSESSID çerezine erişim sağladı.
Saldırılardan Korunma Yolları
1. Modern Standartları Uygulamak
- Uygulamanızın, çerez işleme konusunda RFC6265 gibi modern standartlara uygun olmasını sağlayın.
- Eski çerez ayrıştırma desteğini devre dışı bırakın.
2. HttpOnly ve Secure Bayraklarını Etkinleştirmek
- Hassas çerezlerin her zaman
HttpOnly
olarak işaretlenmesini sağlayın. - Çerezlerin yalnızca HTTPS bağlantılarında kullanılmasını sağlamak için
Secure
bayrağını ekleyin.
3. Kullanıcı Girdilerini Temizlemek
- Kullanıcı tarafından kontrol edilen verilerin, sunucu yanıtlarında uygun şekilde doğrulanmasını ve kaçış karakteri kullanılarak yansıtılmamasını sağlayın.
- XSS saldırılarına karşı korunmak için CSP (Content Security Policy) kullanın.
4. SameSite Çerezlerini Kullanmak
- Çerezlerin çapraz site iletimini kısıtlamak için
SameSite
özelliğini etkinleştirin.
Sonuç ve Öneriler
“Cookie Sandwich” tekniği, web tabanlı saldırıların giderek daha sofistike hale geldiğini göstermektedir. Bu saldırı, yalnızca HttpOnly çerezlere güvenmenin yeterli olmadığını ve web uygulamalarının güvenlik tasarımında katmanlı bir yaklaşım benimsenmesi gerektiğini bir kez daha hatırlatmaktadır.
Geliştiriciler ve güvenlik ekipleri, bu tür saldırılara karşı korunmak için:
- Çerez işleme mekanizmalarını düzenli olarak gözden geçirmeli,
- Modern güvenlik standartlarını benimsemeli,
- Güçlü bir giriş doğrulama ve yanıt sanitizasyon stratejisi uygulamalıdır.
Unutmayın, güvenlik yalnızca bir bayrak eklemekten çok daha fazlasını gerektirir. Birlikte güvende olalım!