HTTP Host Header Attack
Last updated
Was this helpful?
Last updated
Was this helpful?
HTTP Host başlığının amacı, istemcinin hangi back-end bileşeniyle iletişim kurmak istediğini belirlemeye yardımcı olmaktır.
HTTP Host header saldırıları, Host header değerini güvenli olmayan bir şekilde işleyen savunmasız web sitelerinden yararlanır. Sunucu Host başlığına güveniyorsa ve bunu düzgün bir şekilde doğrulamaz ise bir saldırgan bu girdiyi sunucu tarafı davranışını manipüle eden zararlı payload'lar enjekte etmek için kullanabilir.
Eğer parola sıfırlama adresleri host header kullanılarak oluşturuluyor ise kullanıcı linke tıkladığında sıfırlama tokenini ele geçirebiliriz.
Eğer admin paneli localhosttan gelen isteklerde bazı panellere erişim izni veriyor ise host header ile erişim alabiliriz.
Eğer site host header değiştiğinde hata veriyorsa ikinci host header geldiğinde hata vermeyebilir. Bu durumda host header yansıyorsa saldırı deneyebiliriz.
Eğer host alanı iç ağlara istek atmamızı sağlıyorsa ssrf saldırısı gerçekleştirebiliriz.
Eğer üstteki metod işe yaramıyor ise alttaki şekilde denenebilir. Bu zafiyet url parse işlemi hatalı yapılıyor ise çıkar.
Aşağıdaki iki isteği single-connection olarak yolladığımızda ikinci istekte yanıt geliyor.
Tam URL'ler kullanmanız gerektiğinde, geçerli domain'in bir yapılandırma dosyasında manuel olarak belirtilmesini ve Host başlığı yerine bu değere başvurulmasını zorunlu kılmalısınız. Bu yaklaşım, örneğin parola sıfırlama zehirlenmesi tehdidini ortadan kaldıracaktır.
Host başlığını kullanmanız gerekiyorsa, doğru şekilde doğruladığınızdan emin olun. Bu, izin verilen alan adlarının bir beyaz listesine karşı kontrol edilmesini ve tanınmayan ana bilgisayarlar için herhangi bir isteğin reddedilmesini veya yönlendirilmesini içermelidir.
Özellikle X-Forwarded-Host gibi bu saldırıları oluşturmak için kullanılabilecek ek başlıkları desteklemediğinizi kontrol etmeniz de önemlidir.
İç altyapıya yönelik yönlendirme tabanlı saldırıları önlemek için load balancer'ınızı veya reverse proxy'lerinizi istekleri yalnızca izin verilen alan adlarından oluşan bir beyaz listeye yönlendirecek şekilde yapılandırmalısınız.
Virtual hosting kullanırken, yalnızca dahili web sitelerini ve uygulamaları genel kullanıma açık içerikle aynı sunucuda barındırmaktan kaçınmalısınız. Aksi takdirde saldırganlar Host başlığı manipülasyonu yoluyla dahili alan adlarına erişebilir.
Portswigger Academy: