hacktricks/pentesting-web/abusing-hop-by-hop-headers.md

81 lines
7.2 KiB
Markdown
Raw Normal View History

# hop-by-hop headers
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
2022-04-28 16:01:33 +00:00
2022-10-25 15:56:49 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
[**RootedCON**](https://www.rootedcon.com/) ist die relevanteste Cybersecurity-Veranstaltung in **Spanien** und eine der wichtigsten in **Europa**. Mit **der Mission, technisches Wissen zu fördern**, ist dieser Kongress ein brodelnder Treffpunkt für Technologie- und Cybersecurity-Profis in jeder Disziplin.
{% embed url="https://www.rootedcon.com/" %}
***
**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.
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
### 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.
2022-04-28 16:01:33 +00:00
### 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:
2024-02-10 15:36:32 +00:00
### 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.
2024-02-10 15:36:32 +00:00
**Angriffsszenario:**
2024-02-10 15:36:32 +00:00
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 möglicherweise 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.
2024-02-10 15:36:32 +00:00
**Angriffsszenario:**
2024-02-10 15:36:32 +00:00
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 möglicherweise zu Sitzungsübernahmen oder der Offenlegung sensibler Informationen führt.
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com/) ist die relevanteste Cybersecurity-Veranstaltung in **Spanien** und eine der wichtigsten in **Europa**. Mit **der Mission, technisches Wissen zu fördern**, ist dieser Kongress ein brodelnder Treffpunkt für Technologie- und Cybersecurity-Profis in jeder Disziplin.
{% embed url="https://www.rootedcon.com/" %}
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
2022-10-25 15:56:49 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}