5.7 KiB
hop-by-hop headers
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
To jest podsumowanie posta 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. Dodatkowe nagłówki mogą być oznaczone jako hop-by-hop za pomocą nagłówka Connection
.
Abusing Hop-by-Hop Headers
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.
Testing for Hop-by-Hop Header Handling
Zarządzanie nagłówkami 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.
Nadużywanie nagłówków hop-by-hop może prowadzić do różnych implikacji bezpieczeństwa. Poniżej znajdują się dwa przykłady ilustrujące, jak te nagłówki mogą być manipulowane w celu potencjalnych ataków:
Bypassing Security Controls with X-Forwarded-For
Atakujący może manipulować nagłówkiem X-Forwarded-For
, aby obejść kontrolę dostępu opartą 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:
- Atakujący wysyła żądanie HTTP do aplikacji internetowej za proxy, w tym fałszywy adres IP w nagłówku
X-Forwarded-For
. - Atakujący również dołącza nagłówek
Connection: close, X-Forwarded-For
, co skłania proxy do traktowaniaX-Forwarded-For
jako hop-by-hop. - Źle skonfigurowane proxy przekazuje żądanie do aplikacji internetowej bez sfałszowanego nagłówka
X-Forwarded-For
. - 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.
Cache Poisoning via Hop-by-Hop Header Injection
Jeśli serwer cache'ujący 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 dostarczenie nieprawidłowej lub złośliwej zawartości użytkownikom żądającym tego samego zasobu.
Scenariusz ataku:
- Atakujący wysyła żądanie do aplikacji internetowej z nagłówkiem hop-by-hop, który nie powinien być buforowany (np.
Connection: close, Cookie
). - Źle skonfigurowany serwer cache'ujący nie usuwa nagłówka hop-by-hop i buforuje odpowiedź specyficzną dla sesji atakującego.
- Przyszli użytkownicy żądający tego samego zasobu otrzymują buforowaną odpowiedź, która była dostosowana do atakującego, co potencjalnie prowadzi do przejęcia sesji lub ujawnienia wrażliwych informacji.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.