NFsec Logo

Wyciekające nagłówki HTTP

20/10/2016 w Pen Test Brak komentarzy.  (artykuł nr 563, ilość słów: 372)

W

świecie HTTP istnieje wiele nagłówków. Niektóre z nich starają się nas chronić inne – wręcz przeciwnie. Poszczególne urządzenia równoważenia obciążenia, serwery www oraz aplikacje webowe ujawniają informacje odnośnie swoich wersji. Czasami dochodzi również do ujawnienia informacji o wewnętrznych sieciach przed którymi się one znajdują. Poniżej zamieszczam kilka przykładów takich wycieków.

Zacznijmy od serwerów proxy, które w nagłówkach o nazwie X-Cache często informują twórców swoich konfiguracji, czy odpowiedź pochodzi z ich pamięci cache (HIT) lub nie (MISS). Daje to możliwość oszacowania jak bardzo efektywna jest warstwa cache. Niestety bardzo często zdarza się, że oprócz samej informacji o trafieniu lub chybieniu dodawana jest również informacja o serwerze, którzy obsłużył żądanie za proxy:

HTTP/1.1 400 Bad Request
Server: squid/3.3.8
Mime-Version: 1.0
Date: Mon, 17 Oct 2016 07:59:23 GMT
Content-Type: text/html
Content-Length: 3162
X-Squid-Error: ERR_INVALID_URL 0
Vary: Accept-Language
Content-Language: en
X-Cache: MISS from ip-172-31-37-205
X-Cache-Lookup: NONE from ip-172-31-37-205:8080
Connection: close

Podobnie zachowują się niektóre serwery pośredniczące, które pełnią rolę bram lub proxy pomiędzy klientem, a docelowym, chronionym zasobem. Wykorzystują one do tego nagłówek Via, w którym umieszczają informację o swojej obecności:

HTTP/1.1 403 IPAuthorizedOnly
Via: 1.1 172.22.66.75 (McAfee Web Gateway 7.4.2.10.0.19503)
Connection: Keep-Alive
Content-Type: text/html
Cache-Control: no-cache
Content-Length: 2403

A co jeśli dany zasób jest gdzieś indziej? Wtedy pojawia się temat przekierowań, czyli kodów 3xx, które zawierają instrukcje gdzie należy się udać, aby osiągnąć ostateczny cel. Do tego celu służy nagłówek Location, który podaje nową ścieżkę dostępu:

HTTP/1.1 200 OK
CACHE-CONTROL: max-age=1800
DATE: Mon, 17 Oct 2016 02:40:05 GMT
EXT:
LOCATION: http://192.168.0.100:80/upnpdevicedesc.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: 7c1a6d66-1dd2-11b2-887f-97ebdbc58150
SERVER: Linux/3.0.8, UPnP/1.0, Portable SDK for UPnP devices/1.6.18
X-User-Agent: redsonic
ST: upnp:rootdevice
USN: uuid:48353535-3931-3339-3631-2857BE8C1F45::upnp:rootdevice

Innym wariantem jest Content-Location:

HTTP/1.1 200 OK
Content-Length: 1433
Content-Type: text/html
Content-Location: http://10.229.5.67/iisstart.htm
Last-Modified: Fri, 21 Feb 2003 23:48:30 GMT
Accept-Ranges: bytes
ETag: "09b60bc3dac21:239"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Mon, 17 Oct 2016 07:47:07 GMT

Po dokonaniu konfiguracji wybranego urządzenia, serwera lub webaplikacji pamiętajmy o dokładnym sprawdzeniu informacji, jakie są udostępniane. Nie tylko na początku, ale także w ciągłym cyklu rozwoju, ponieważ bardzo często różne rzeczy zmieniane są w wraz z wydawaniem kolejnych wersji lub manipulowaniu poszczególnymi opcjami.

Więcej informacji: Understanding cache HIT and MISS headers with shielded services, IIS 7.5 Internal IP Disclosure on a 3xx Request, Internet Information Server returns IP address in HTTP header (Content-Location), Beware the Via header and its bandwidth impact on your origin

Kategorie K a t e g o r i e : Pen Test

Tagi T a g i : , , ,

Komentowanie tego wpisu jest zablokowane.