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

60 lines
5.5 KiB
Markdown

# hop-by-hop headers
{% hint style="success" %}
Leer & oefen 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">\
Leer & oefen 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)
<details>
<summary>Support HackTricks</summary>
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Dit is 'n opsomming van die pos [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 headers is spesifiek vir 'n enkele transportvlak verbinding, hoofsaaklik gebruik in HTTP/1.1 vir die bestuur van data tussen twee nodes (soos kliënt-proxy of proxy-proxy), en is nie bedoel om voortgestuur te word nie. Standaard hop-by-hop headers sluit `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization`, en `Proxy-Authenticate` in, soos gedefinieer in [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1). Addisionele headers kan as hop-by-hop aangewys word via die `Connection` header.
### Misbruik van Hop-by-Hop Headers
Onbehoorlike bestuur van hop-by-hop headers deur proxies kan lei tot sekuriteitskwessies. Terwyl proxies verwag word om hierdie headers te verwyder, doen nie almal dit nie, wat potensiële kwesbaarhede skep.
### Toetsing van Hop-by-Hop Header Hantering
Die hantering van hop-by-hop headers kan getoets word deur veranderinge in bediener antwoorde te observeer wanneer spesifieke headers as hop-by-hop gemerk word. Gereedskap en skripte kan hierdie proses outomatiseer, wat identifiseer hoe proxies hierdie headers bestuur en potensieel miskonfigurasies of proxy gedrag onthul.
Misbruik van hop-by-hop headers kan lei tot verskeie sekuriteitsimplikasies. Hieronder is 'n paar voorbeelde wat demonstreer hoe hierdie headers gemanipuleer kan word vir potensiële aanvalle:
### Omseiling van Sekuriteitsbeheer met `X-Forwarded-For`
'n Aanvaller kan die `X-Forwarded-For` header manipuleer om IP-gebaseerde toegangbeheer te omseil. Hierdie header word dikwels deur proxies gebruik om die oorspronklike IP-adres van 'n kliënt te volg. As 'n proxy egter hierdie header as hop-by-hop behandel en dit sonder behoorlike validasie voortstuur, kan 'n aanvaller hul IP-adres vervals.
**Aanval Scenario:**
1. Die aanvaller stuur 'n HTTP versoek na 'n webtoepassing agter 'n proxy, insluitend 'n vals IP-adres in die `X-Forwarded-For` header.
2. Die aanvaller sluit ook die `Connection: close, X-Forwarded-For` header in, wat die proxy aanmoedig om `X-Forwarded-For` as hop-by-hop te behandel.
3. Die miskonfigureerde proxy stuur die versoek na die webtoepassing voort sonder die vervalste `X-Forwarded-For` header.
4. Die webtoepassing, wat nie die oorspronklike `X-Forwarded-For` header sien nie, mag die versoek as afkomstig van 'n vertroude proxy beskou, wat moontlik ongeoorloofde toegang toelaat.
### Cache Vergiftiging via Hop-by-Hop Header Inspuiting
As 'n cache bediener verkeerdelik inhoud kas op grond van hop-by-hop headers, kan 'n aanvaller kwaadwillige headers inspuit om die cache te vergiftig. Dit sou verkeerde of kwaadwillige inhoud aan gebruikers wat dieselfde hulpbron aan vra, dien.
**Aanval Scenario:**
1. 'n Aanvaller stuur 'n versoek na 'n webtoepassing met 'n hop-by-hop header wat nie ge-kas moet word nie (bv. `Connection: close, Cookie`).
2. Die swak geconfigureerde cache bediener verwyder nie die hop-by-hop header nie en kas die antwoord spesifiek vir die aanvaller se sessie.
3. Toekomstige gebruikers wat dieselfde hulpbron aan vra, ontvang die ge-kas antwoord, wat vir die aanvaller aangepas was, wat moontlik lei tot sessie oorname of blootstelling van sensitiewe inligting.
{% hint style="success" %}
Leer & oefen 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">\
Leer & oefen 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)
<details>
<summary>Support HackTricks</summary>
* Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}