hacktricks/pentesting-web/abusing-hop-by-hop-headers.md
2024-02-11 01:46:25 +00:00

6.2 KiB

Nagłówki hop-by-hop

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

To jest streszczenie postu https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers

Nagłówki hop-by-hop są specyficzne dla pojedynczego połączenia na poziomie transportu, używane głównie w protokole HTTP/1.1 do zarządzania danymi między dwoma węzłami (np. klient-proxy lub proxy-proxy) i nie są przeznaczone do przekazywania. Standardowe nagłówki hop-by-hop obejmują Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade, Proxy-Authorization i Proxy-Authenticate, zdefiniowane w RFC 2616. Dodatkowe nagłówki mogą być oznaczone jako hop-by-hop za pomocą nagłówka Connection.

Nadużywanie nagłówków hop-by-hop

Niewłaściwe zarządzanie nagłówkami hop-by-hop przez serwery proxy może prowadzić do problemów związanych z bezpieczeństwem. Chociaż oczekuje się, że serwery proxy usuną te nagłówki, nie wszystkie to robią, co tworzy potencjalne podatności.

Testowanie obsługi nagłówków hop-by-hop

Obsługę nagłówków hop-by-hop można przetestować, obserwując zmiany w odpowiedziach serwera, gdy określone nagłówki są oznaczone jako hop-by-hop. Narzędzia i skrypty mogą zautomatyzować ten proces, identyfikując, jak serwery proxy zarządzają tymi nagłówkami i potencjalnie odkrywając błędy konfiguracji lub zachowania serwerów proxy.

Nadużywanie nagłówków hop-by-hop może prowadzić do różnych implikacji związanych z bezpieczeństwem. Poniżej przedstawiamy kilka przykładów, pokazujących, jak te nagłówki mogą być manipulowane w celu potencjalnych ataków:

Ominiecie kontroli bezpieczeństwa za pomocą X-Forwarded-For

Atakujący może manipulować nagłówkiem X-Forwarded-For, aby ominąć kontrole dostępu oparte na adresach IP. Ten nagłówek jest często używany przez serwery proxy do śledzenia adresu IP pochodzenia klienta. Jednak jeśli serwer proxy traktuje ten nagłówek jako hop-by-hop i przekazuje go bez odpowiedniej walidacji, atakujący może podszyć się pod swój adres IP.

Scenariusz ataku:

  1. Atakujący wysyła żądanie HTTP do aplikacji internetowej za pośrednictwem serwera proxy, dołączając fałszywy adres IP w nagłówku X-Forwarded-For.
  2. Atakujący dołącza również nagłówek Connection: close, X-Forwarded-For, co skłania serwer proxy do traktowania X-Forwarded-For jako hop-by-hop.
  3. Źle skonfigurowany serwer proxy przekazuje żądanie do aplikacji internetowej bez sfałszowanego nagłówka X-Forwarded-For.
  4. Aplikacja internetowa, nie widząc oryginalnego nagłówka X-Forwarded-For, może uznać żądanie za pochodzące bezpośrednio od zaufanego serwera proxy, co potencjalnie umożliwia nieautoryzowany dostęp.

Zatrucie pamięci podręcznej poprzez wstrzyknięcie nagłówka hop-by-hop

Jeśli serwer pamięci podręcznej nieprawidłowo buforuje zawartość na podstawie nagłówków hop-by-hop, atakujący może wstrzyknąć złośliwe nagłówki w celu zatrucia pamięci podręcznej. Spowoduje to dostarczanie nieprawidłowej lub złośliwej zawartości użytkownikom żądającym tego samego zasobu.

Scenariusz ataku:

  1. Atakujący wysyła żądanie do aplikacji internetowej z nagłówkiem hop-by-hop, który nie powinien być buforowany (np. Connection: close, Cookie).
  2. Źle skonfigurowany serwer pamięci podręcznej nie usuwa nagłówka hop-by-hop i buforuje odpowiedź specyficzną dla sesji atakującego.
  3. Przyszli użytkownicy żądający tego samego zasobu otrzymują buforowaną odpowiedź, która została dostosowana do atakującego, co potencjalnie prowadzi do przejęcia sesji lub ujawnienia poufnych informacji.
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!