Být přesměrováni IIS CGI HTTP_PROXY záhlaví požadavků

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 3179800
Příznaky
Při použití funkce služby IIS rozhraní CGI (Common Gateway) provozovat spustitelný program, který pomocí určité knihovny přesměrování požadavků, požadavků mohou být zneužity k další na základě přítomnosti "PROXY" záhlaví požadavku. Při použití této knihovny je známo několik webových aplikací platformy. PHP, Python a cestách, patří mimo jiné.
Příčina
CGI je rozhraní, které umožňuje webovému serveru k hostování aplikací, které běží jako spustitelné procesy. Při přijetí požadavku webovým serverem je server spuštěn nový proces pro zpracování jedné žádosti. Po dokončení požadavku ukončení procesu. V pořadí na přístup k údajům žádosti procesu jsou k dispozici jako proměnné prostředí, které mají "HTTP_" před jejich název hlavičky požadavku. Procesy CGI pro požadavky, které obsahují záhlaví s názvem "Proxy" tudíž proměnné prostředí HTTP_PROXY", které mají stejnou hodnotu jako hlavičky požadavku.

Otočení příkazového řádku a běžně se používá pro enablevarious druhy aplikací tak, aby požadavky na různé druhy serverů, včetně serverů WWW libraryare. Tuto knihovnu lze nakonfigurovat pomocí parametrů příkazového řádku, nebo jej číst parametry konfigurace z proměnných prostředí hostitelského procesu. "HTTP_PROXY je jedním z mnoha parametry konfigurace, které jsou používány otočení. Kudrlinkou HTTP_PROXY"používá k odeslání požadavku HTTP pomocí nakonfigurovaného serveru proxy.

Poznámka: To nesouvisí s "HTTP_PROXY jako znázornění hlavičky požadavku klienta.

Při otočení je umístěn na proces CGI, obsahující proměnnou prostředí s názvem HTTP_PROXY"proces, používá kudrlinkou její hodnotu na sendrequested dat prostřednictvím serveru proxy HTTP, jehož hodnota je udávána v proměnné prostředí. K tomu dochází, protože kudrlinkou očekává, že "HTTP_PROXY je konfigurace směrnice a nikoli hlavička požadavku klienta.
Jak potíže obejít
Chcete-li tento problém vyřešit, nepoužívejte CGI na serveru se spuštěnou službou IIS. CGI je z velké části zastaralé rozhraní, která je nahrazena novější a další související s výkonem rozhraní. Konkrétně být hostovány PHP, Python a přejít přes FastCGI ve službě IIS. FastCGI nelze použít proměnné prostředí pro záhlaví požadavků klienta a nemá tento problém. Nicméně pro PHP, některé aplikace mohou používat funkce getenv() PHPs načíst proměnné prostředí. Pokud není ani PHP umístěn uvnitř proces CGI, vložením hodnot hlavičky požadavku do sady dat, které jsou k dispozici pro jeho funkce getenv() replikaci chování CGI. Pokud používáte PHP aplikace, která načítá HTTP_PROXY tímto způsobem, platí následující skutečnosti snižující závažnost rizika vymazání hodnota hlavičky nebo zamítnutí žádosti s záhlaví PROXY.

Pokud máte z nějakého důvodu použití CGI, blokovat požadavky, které obsahují požadavek na záhlaví s názvem "server Proxy nebo zrušte hodnotu hlavičky. Je to proto, že "server Proxy není název záhlaví standardní požadavek a prohlížečů obecně neodešle ji.

Blokování požadavku, který obsahuje záhlaví Proxy (nejlepší řešení), spusťte následující příkaz:
appcmd set config /section:requestfiltering / + requestlimits.headerLimits. [záhlaví proxy, sizelimit = "0" =]

Poznámka: Appcmd.exe obvykle není v cestě a lze nalézt v adresáře %systemroot%\system32\inetsrv

Pokud chcete vymazat hodnotu hlavičky, můžete použít následující adresu URL přepsat pravidlo:
<system.webServer>    <rewrite>        <rules>            <rule name="Erase HTTP_PROXY" patternSyntax="Wildcard">                <match url="*.*" />                <serverVariables>                    <set name="HTTP_PROXY" value="" />                </serverVariables>                <action type="None" />            </rule>        </rules>    </rewrite></system.webServer>

Poznámka: Přepsání adresy URL je ke stažení doplňku modelu služby IIS a není součástí výchozí instalace služby IIS.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 3179800 - Poslední kontrola: 07/20/2016 20:23:00 - Revize: 2.0

Windows 10, Windows 10 Version 1511, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8.1, Windows RT 8.1, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1, Windows Server 2008 Service Pack 2, Aktualizace SP2 pro Windows Vista

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability kbmt KB3179800 KbMtcs
Váš názor