Może nastąpić przekierowanie żądań nagłówka tej CGI usług IIS

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 3179800
Symptomy
Korzystając z funkcji usług IIS interfejsu CGI (Common Gateway) do obsługi programu wykonywalnego, który należy używać niektórych biblioteki, aby przekierować żądania, żądania mogą być błędnie na podstawie obecności nagłówka żądania "PROXY". Korzystanie z tej biblioteki są znane kilka platform aplikacji sieci web. Obejmują one PHP, Python i Go, m.in.
Przyczyna
Grafika Komputerowa jest interfejs, który umożliwia serwerowi sieci web do obsługi aplikacji, które są uruchamiane jako procesy pliku wykonywalnego. Po odebraniu żądania przez serwer sieci web, serwer uruchamia nowy proces do obsługi tego pojedynczego żądania. Gdy żądanie zostanie zakończone, kończy proces. Aby proces dostępu do żądanych danych nagłówki żądania są dołączane jako zmienne środowiskowe, które mają "HTTP_" dołączona do ich nazwę. Procesy CGI dla żądań, które zawierają nagłówek o nazwie "Proxy" więc zmiennej środowiskowej "HTTP_PROXY", który ma taką samą wartość jak nagłówka żądania.

Zwinięcie wierszu polecenia i libraryare powszechnie używane do enablevarious rodzajów aplikacji żądań do różnych rodzajów serwerów, w tym serwerów sieci web. Tej biblioteki można skonfigurować przy użyciu parametrów wiersza polecenia lub ze zmiennych środowiskowych procesu hosta można odczytać jego parametry konfiguracji. "HTTP_PROXY" jest jednym z wielu parametrów konfiguracji, które są używane przez zwinięcie. "HTTP_PROXY" jest używany przez zwinięcie do wysyłania żądania HTTP za pośrednictwem skonfigurowanego serwera proxy.

Uwaga: Ma to związku "HTTP_PROXY" jako reprezentacja nagłówka żądania klienta.

Gdy kędzierzawki jest obsługiwany przez proces CGI, a proces zawiera zmienną środowiskową o nazwie "HTTP_PROXY", zwinięcie używa jego wartość do sendrequested danych za pośrednictwem serwera proxy protokołu HTTP, którego wartość jest określona przez zmienną środowiskową. Dzieje się tak, ponieważ kędzierzawki oczekuje, że "HTTP_PROXY" jest dyrektywa konfiguracji i nie nagłówek żądania klienta.
Obejście problemu
Aby obejść ten problem, nie należy używać CGI na serwerze, na którym działa program IIS. Grafika Komputerowa jest głównie przestarzałe interfejs, który zastępuje interfejsów nowszych i bardziej związane z wydajnością. W szczególności PHP, Python i Go powinna być obsługiwana za pomocą FastCGI na serwerze IIS. FastCGI nie używać zmiennych środowiskowych dla nagłówków żądania klienta, a nie ma tego problemu. Jednakże dla PHP, niektóre aplikacje mogą używać funkcji getenv() PHPs do pobierania zmiennych środowiskowych. Nawet kiedy PHP nie jest obsługiwany wewnątrz proces CGI, replikuje zachowanie CGI poprzez wstrzyknięcie wartości nagłówka żądania do zestaw danych dostępnych do jego funkcji getenv() . Jeśli używasz aplikacji PHP, która pobiera w ten sposób, że następujące czynniki ograniczające zagrożenie wyczyszczenie wartości nagłówka lub odrzuca żądania z nagłówka PROXY są skuteczne.

Jeśli trzeba korzystać z jakiegoś powodu CGI, żądania zawierające nagłówek żądania o nazwie "Proxy" lub wyczyść wartość nagłówka. To dlatego "Proxy" nie jest nazwą nagłówka standardowe żądanie i przeglądarek zwykle nie wyśle go.

Aby zablokować żądania, zawierającą nagłówek serwera Proxy (preferowane rozwiązanie), uruchom następujący wiersz polecenia:
appcmd ustawić config /section:requestfiltering / + requestlimits.headerLimits. [nagłówek = 'proxy', sizelimit = "0"]

Uwaga: Appcmd.exe nie jest zazwyczaj ścieżka i znajdują się w katalogu %systemroot%\system32\inetsrv

Aby wyczyścić wartość nagłówka, można użyć następującą regułę przepisać adresu URL:
<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>

Uwaga: Adres URL przepisać jest do pobrania dodatek do programu IIS i nie znajduje się w domyślnej instalacji usług IIS.

Właściwości

Identyfikator artykułu: 3179800 — ostatni przegląd: 07/21/2016 12:01:00 — zmiana: 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, Dodatek Service Pack 2 do systemu Windows Vista

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability kbmt KB3179800 KbMtpl
Opinia