Echo
Editör
- Katılım
- 25 Eylül 2026
- Mesajlar
- 9
- Tepkime puanı
- 12
- Puan
- 9
HTTP REQUEST SMUGGLING: İKİ SUNUCUYU BİRBİRİNE KARŞI KANDIRMAK
1. HTTP Request Smuggling Nedir ve Nasıl Çalışır?
HTTP Request Smuggling, bir HTTP isteğinin iki zincirdeki farklı sunucular tarafından farklı şekilde yorumlanmasını sağlayarak aradaki bir web güvenliği problemidir.
Modern web sitelerinde kullanıcı ile web sunucusu arasında birden fazla katman bulunur. Bir web sitesine bağlandığımızda istek çoğu zaman doğrudan web sunucusuna gitmez; arada WAF, CDN, reverse proxy veya load balancer gibi farklı sistemler bulunabilir.
Bu trafik akışını şu şekilde özetleyebiliriz:
Kullanıcı ➔ CDN / WAF ➔ Reverse Proxy ➔ Web Server
Bu katmanlardan biri isteğin nerede başlayıp nerede bittiğini farklı yorumlarsa, güvenlik açısından problem oluşabilir. Örneğin, bir düzenekte CDN/WAF isteği farklı yorumlarken, arkadaki web sunucusu aynı isteği başka şekilde anlayabilir.
Modern web sitelerinde kullanıcı ile web sunucusu arasında birden fazla katman bulunur. Bir web sitesine bağlandığımızda istek çoğu zaman doğrudan web sunucusuna gitmez; arada WAF, CDN, reverse proxy veya load balancer gibi farklı sistemler bulunabilir.
Bu trafik akışını şu şekilde özetleyebiliriz:
Kullanıcı ➔ CDN / WAF ➔ Reverse Proxy ➔ Web Server
Bu katmanlardan biri isteğin nerede başlayıp nerede bittiğini farklı yorumlarsa, güvenlik açısından problem oluşabilir. Örneğin, bir düzenekte CDN/WAF isteği farklı yorumlarken, arkadaki web sunucusu aynı isteği başka şekilde anlayabilir.
2. Bu Problem Neden Oluşuyor?
Sorunun temelinde HTTP mesajının uzunluğunun veya sınırlarının farklı yorumlanması bulunur.
Basit bir örnekle açıklamak gerekirse:
Basit bir örnekle açıklamak gerekirse:
- Öndeki Proxy bu isteği tek bir istek olarak görebilir.
- Arkadaki Backend (Web Server) ise burada ikinci bir istek olduğunu düşünebilir.
İki sistem arasında oluşan bu uyumsuzluk durumunda, isteğin bir bölümü backend tarafından yepyeni bir HTTP isteği olarak algılanabilir.
3. Neden "Request Smuggling" (Kaçakçılık) Deniyor?
"Smuggling" kelimesi burada kabaca "kaçak şekilde taşıma" anlamına geliyor. Normalde tek bir HTTP isteği olarak gönderilen verinin bir kısmının, arka taraftaki sunucu tarafından farklı bir isteğin parçasıymış gibi görülmesi fikrine dayanıyor.
Mantığı diyaloglaştırırsak:
Mantığı diyaloglaştırırsak:
- Hacker: Tek bir HTTP isteği gönderir.
- Proxy (Ön Sunucu): "Bu tek bir istek." der ve arkaya iletir.
- Backend (Arka Sunucu): "Hayır, burada başka bir istek daha var." diyerek o gizlenmiş isteği işleme alır.
İşte iki sistem arasındaki bu yorum farklılığı, güvenlik açığının tam olarak temelini oluşturur.
4. Ne Gibi Riskler Oluşturabilir?
HTTP Request Smuggling her sistemde aynı sonucu oluşturmaz. Kullanılan proxy, web server ve uygulamanın yapılandırmasına göre etkisi değişebilir.
Ancak başarılı bir sömürü (exploit) durumunda aşağıdaki kritik sonuçlar ortaya çıkabilir:
Ancak başarılı bir sömürü (exploit) durumunda aşağıdaki kritik sonuçlar ortaya çıkabilir:
- WAF kontrollerinin atlatılması.
- İsteklerin yanlış endpoint'e yönlenmesi.
- Web cache (önbellek) davranışlarının etkilenmesi (Cache Poisoning).
- Yetkisiz işlemlere zemin hazırlanması.
- Kullanıcılar arasındaki HTTP trafiğinin etkilenmesi ve oturumların çalınması.
5. Blue Team Yaklaşımı: Nasıl Önlenir?
Savunma (Blue Team) açısından ana amaç; HTTP isteğinin bütün katmanlarda tutarlı şekilde yorumlanmasını sağlamaktır.
Bunun için sistem yöneticileri ve güvenlik ekiplerinin alabileceği önlemler şunlardır:
Bunun için sistem yöneticileri ve güvenlik ekiplerinin alabileceği önlemler şunlardır:
- Proxy ve backend yazılımlarını güncel tutmak.
- HTTP parser yapılandırmalarını kontrol etmek.
- Reverse proxy ve web server ayarlarını uyumlu hâle getirmek.
- WAF, proxy ve backend loglarını birlikte incelemek.
- Yetkili güvenlik testleri gerçekleştirmek.
6. Kısa Özet ve Değerlendirme
Aynı HTTP isteği farklı sistemler tarafından farklı yorumlanır ➔ Güvenlik açığı ortaya çıkabilir.
Bu yüzden web güvenliğinde sadece uygulamanın kendisine değil; uygulamanın önündeki CDN, WAF, reverse proxy ve load balancer gibi katmanlara da bakmak gerekir.
Red Team (Saldırı) Gözüyle:
Yetkili bir test ortamında proxy, WAF ve backend’in HTTP isteklerini aynı şekilde işleyip işlemediği fuzzing ve mutasyon teknikleriyle kontrol edilir.
Blue Team (Savunma) Gözüyle:
Sistemler arasındaki HTTP işleme farklılıklarını araştırır, logları karşılaştırır ve aradaki "iletişim kopukluğunu" giderecek yapılandırma düzeltmelerini yapar. Tek amaç: Sistemde bulunan HTTP bileşenlerinin istekleri tutarlı ve güvenli bir şekilde işlemesini sağlamaktır.
Bu yüzden web güvenliğinde sadece uygulamanın kendisine değil; uygulamanın önündeki CDN, WAF, reverse proxy ve load balancer gibi katmanlara da bakmak gerekir.
Red Team (Saldırı) Gözüyle:
Yetkili bir test ortamında proxy, WAF ve backend’in HTTP isteklerini aynı şekilde işleyip işlemediği fuzzing ve mutasyon teknikleriyle kontrol edilir.
Blue Team (Savunma) Gözüyle:
Sistemler arasındaki HTTP işleme farklılıklarını araştırır, logları karşılaştırır ve aradaki "iletişim kopukluğunu" giderecek yapılandırma düzeltmelerini yapar. Tek amaç: Sistemde bulunan HTTP bileşenlerinin istekleri tutarlı ve güvenli bir şekilde işlemesini sağlamaktır.