mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
43 lines
3.7 KiB
Markdown
43 lines
3.7 KiB
Markdown
# hop-by-hop headers
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
---
|
|
|
|
**To jest podsumowanie posta** [**https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers**](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 HTTP/1.1 do zarządzania danymi między dwoma węzłami (takimi jak 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`, zgodnie z definicją w [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1). Dodatkowe nagłówki mogą być oznaczone jako hop-by-hop za pomocą nagłówka `Connection`.
|
|
|
|
### Wykorzystywanie nagłówków hop-by-hop
|
|
|
|
Nieprawidłowe zarządzanie nagłówkami hop-by-hop przez proxy może prowadzić do problemów z bezpieczeństwem. Chociaż od proxy oczekuje się usunięcia tych nagłówków, nie wszystkie to robią, co stwarza potencjalne luki.
|
|
|
|
### Testowanie obsługi nagłówków hop-by-hop
|
|
|
|
Obsługę nagłówków hop-by-hop można testować, obserwując zmiany w odpowiedziach serwera, gdy konkretne nagłówki są oznaczone jako hop-by-hop. Narzędzia i skrypty mogą zautomatyzować ten proces, identyfikując, jak proxy zarządzają tymi nagłówkami i potencjalnie odkrywając błędne konfiguracje lub zachowania proxy.
|
|
|
|
Wykorzystywanie nagłówków hop-by-hop może prowadzić do różnych implikacji bezpieczeństwa. Poniżej znajdują się kilka przykładów ilustrujących, jak te nagłówki mogą być manipulowane w celu potencjalnych ataków:
|
|
|
|
### Ominięcie kontroli bezpieczeństwa za pomocą `X-Forwarded-For`
|
|
|
|
Atakujący może manipulować nagłówkiem `X-Forwarded-For`, aby obejść kontrole dostępu oparte na IP. Ten nagłówek jest często używany przez proxy do śledzenia oryginalnego adresu IP klienta. Jednak jeśli proxy traktuje ten nagłówek jako hop-by-hop i przekazuje go bez odpowiedniej walidacji, atakujący może sfałszować swój adres IP.
|
|
|
|
**Scenariusz ataku:**
|
|
|
|
1. Atakujący wysyła żądanie HTTP do aplikacji internetowej za proxy, w tym fałszywy adres IP w nagłówku `X-Forwarded-For`.
|
|
2. Atakujący również dołącza nagłówek `Connection: close, X-Forwarded-For`, co skłania proxy do traktowania `X-Forwarded-For` jako hop-by-hop.
|
|
3. Źle skonfigurowane 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 z zaufanego proxy, co potencjalnie umożliwia nieautoryzowany dostęp.
|
|
|
|
### Zatrucie pamięci podręcznej poprzez wstrzykiwanie nagłówków hop-by-hop
|
|
|
|
Jeśli serwer pamięci podręcznej błędnie buforuje zawartość na podstawie nagłówków hop-by-hop, atakujący może wstrzyknąć złośliwe nagłówki, aby zatruć pamięć podręczną. To spowoduje serwowanie niepoprawnej 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 była dostosowana dla atakującego, co potencjalnie prowadzi do przejęcia sesji lub ujawnienia wrażliwych informacji.
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|