TsgcWebSocketLoadBalancerServerÖzellikler › StrictRequestParsing

StrictRequestParsing Özellik

İstek kaçırma (request-smuggling) saldırılarında kullanılan belirsiz HTTP isteklerini reddeder ve daha katı chunked-encoding doğrulaması uygular.

Sözdizimi

property StrictRequestParsing: Boolean read GetStrictRequestParsing write SetStrictRequestParsing;

Varsayılan Değer

True

Remarks

StrictRequestParsing etkin olduğunda sunucu, HEM bir Content-Length HEM de bir Transfer-Encoding başlığı taşıyan herhangi bir HTTP isteğini HTTP durumu 400 (Bad Request) ile reddeder. Bu kombinasyon, istek gövdesinin nerede bittiği konusunda belirsizdir ve bir ön uç proxy ile arka uç sunucunun istek sınırları konusunda anlaşamadığı ve bir saldırganın proxy'nin yanından ikinci bir isteği kaçırdığı HTTP istek kaçırma (TE.CL / CL.TE desync) saldırılarının temelidir. Katı ayrıştırma ile sunucu ayrıca chunked transfer encoding'in daha sıkı doğrulamasını uygular, hatalı biçimlendirilmiş yığın boyutlarını ve trailer'ları reddeder.

Bu özellik varsayılan olarak etkindir ve güvenilmeyen ağlardan erişilebilen herhangi bir sunucuda, özellikle bir ters proxy veya yük dengeleyici arkasında bulunduğunda etkin kalmalıdır. Yalnızca her iki başlığı da meşru olarak gönderen, uyumsuz bir istemciyle birlikte çalışmak için devre dışı bırakın.

Örnek


oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oServer.Port := 80;
// reject ambiguous Content-Length + Transfer-Encoding requests (HTTP 400)
oServer.StrictRequestParsing := true;
oServer.Active := true;

Özelliklere Dön