mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
43 lines
3.8 KiB
Markdown
43 lines
3.8 KiB
Markdown
# hop-by-hop headers
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|
|
|
|
---
|
|
|
|
**Dies ist eine Zusammenfassung des Beitrags** [**https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers**](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)
|
|
|
|
Hop-by-hop-Header sind spezifisch für eine einzelne Transportverbindung und werden hauptsächlich in HTTP/1.1 verwendet, um Daten zwischen zwei Knoten (wie Client-Proxy oder Proxy-Proxy) zu verwalten, und sind nicht dafür gedacht, weitergeleitet zu werden. Standard-Hop-by-Hop-Header umfassen `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` und `Proxy-Authenticate`, wie in [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1) definiert. Zusätzliche Header können über den `Connection`-Header als hop-by-hop gekennzeichnet werden.
|
|
|
|
### Missbrauch von Hop-by-Hop-Headern
|
|
|
|
Eine unsachgemäße Verwaltung von Hop-by-Hop-Headern durch Proxys kann zu Sicherheitsproblemen führen. Während von Proxys erwartet wird, dass sie diese Header entfernen, tun dies nicht alle, was potenzielle Schwachstellen schafft.
|
|
|
|
### Testen der Handhabung von Hop-by-Hop-Headern
|
|
|
|
Die Handhabung von Hop-by-Hop-Headern kann getestet werden, indem Änderungen in den Serverantworten beobachtet werden, wenn bestimmte Header als hop-by-hop gekennzeichnet sind. Tools und Skripte können diesen Prozess automatisieren, um zu identifizieren, wie Proxys diese Header verwalten und potenziell Fehlkonfigurationen oder Proxy-Verhalten aufzudecken.
|
|
|
|
Der Missbrauch von Hop-by-Hop-Headern kann zu verschiedenen Sicherheitsimplikationen führen. Im Folgenden sind einige Beispiele aufgeführt, die zeigen, wie diese Header für potenzielle Angriffe manipuliert werden können:
|
|
|
|
### Umgehung von Sicherheitskontrollen mit `X-Forwarded-For`
|
|
|
|
Ein Angreifer kann den `X-Forwarded-For`-Header manipulieren, um IP-basierte Zugriffskontrollen zu umgehen. Dieser Header wird häufig von Proxys verwendet, um die ursprüngliche IP-Adresse eines Clients zu verfolgen. Wenn ein Proxy jedoch diesen Header als hop-by-hop behandelt und ohne ordnungsgemäße Validierung weiterleitet, kann ein Angreifer seine IP-Adresse fälschen.
|
|
|
|
**Angriffsszenario:**
|
|
|
|
1. Der Angreifer sendet eine HTTP-Anfrage an eine Webanwendung hinter einem Proxy und fügt eine gefälschte IP-Adresse im `X-Forwarded-For`-Header ein.
|
|
2. Der Angreifer fügt auch den Header `Connection: close, X-Forwarded-For` hinzu, was den Proxy dazu bringt, `X-Forwarded-For` als hop-by-hop zu behandeln.
|
|
3. Der falsch konfigurierte Proxy leitet die Anfrage an die Webanwendung weiter, ohne den gefälschten `X-Forwarded-For`-Header.
|
|
4. Die Webanwendung, die den ursprünglichen `X-Forwarded-For`-Header nicht sieht, könnte die Anfrage als direkt von einem vertrauenswürdigen Proxy kommend betrachten, was potenziell unbefugten Zugriff ermöglicht.
|
|
|
|
### Cache-Vergiftung durch Hop-by-Hop-Header-Injektion
|
|
|
|
Wenn ein Cache-Server Inhalte basierend auf Hop-by-Hop-Headern falsch zwischenspeichert, könnte ein Angreifer bösartige Header injizieren, um den Cache zu vergiften. Dies würde falsche oder bösartige Inhalte an Benutzer liefern, die dieselbe Ressource anfordern.
|
|
|
|
**Angriffsszenario:**
|
|
|
|
1. Ein Angreifer sendet eine Anfrage an eine Webanwendung mit einem Hop-by-Hop-Header, der nicht zwischengespeichert werden sollte (z. B. `Connection: close, Cookie`).
|
|
2. Der schlecht konfigurierte Cache-Server entfernt den Hop-by-Hop-Header nicht und speichert die Antwort, die spezifisch für die Sitzung des Angreifers ist.
|
|
3. Zukünftige Benutzer, die dieselbe Ressource anfordern, erhalten die zwischengespeicherte Antwort, die für den Angreifer maßgeschneidert war, was potenziell zu Sitzungsübernahme oder Offenlegung sensibler Informationen führen kann.
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|