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

61 lines
5.8 KiB
Markdown
Raw Normal View History

# hop-by-hop headers
{% hint style="success" %}
Learn & practice 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">\
Learn & practice 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
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
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
**Bu, [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers) gönderisinin bir özetidir.**
2022-04-28 16:01:33 +00:00
Hop-by-hop başlıkları, iki düğüm (örneğin, istemci-proxy veya proxy-proxy) arasındaki verileri yönetmek için HTTP/1.1'de kullanılan, tek bir taşıma düzeyi bağlantısına özgü başlıklardır ve iletilmek üzere tasarlanmamıştır. Standart hop-by-hop başlıkları arasında `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` ve `Proxy-Authenticate` yer alır; bunlar [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1) ile tanımlanmıştır. Ek başlıklar, `Connection` başlığı aracılığıyla hop-by-hop olarak belirlenebilir.
2022-04-28 16:01:33 +00:00
### Hop-by-Hop Başlıklarının Suistimali
Proxy'ler tarafından hop-by-hop başlıklarının yanlış yönetimi güvenlik sorunlarına yol açabilir. Proxy'lerin bu başlıkları kaldırması beklenirken, hepsi bunu yapmadığı için potansiyel zafiyetler oluşabilir.
2022-04-28 16:01:33 +00:00
### Hop-by-Hop Başlık Yönetimini Test Etme
Hop-by-hop başlıklarının yönetimi, belirli başlıklar hop-by-hop olarak işaretlendiğinde sunucu yanıtlarındaki değişiklikleri gözlemleyerek test edilebilir. Araçlar ve betikler bu süreci otomatikleştirerek, proxy'lerin bu başlıkları nasıl yönettiğini belirleyebilir ve potansiyel yanlış yapılandırmaları veya proxy davranışlarını ortaya çıkarabilir.
Hop-by-hop başlıklarının suistimali çeşitli güvenlik sonuçlarına yol açabilir. Aşağıda, bu başlıkların potansiyel saldırılar için nasıl manipüle edilebileceğini gösteren birkaç örnek bulunmaktadır:
### `X-Forwarded-For` ile Güvenlik Kontrollerini Aşma
Bir saldırgan, IP tabanlı erişim kontrollerini aşmak için `X-Forwarded-For` başlığını manipüle edebilir. Bu başlık, genellikle proxy'ler tarafından bir istemcinin kaynak IP adresini izlemek için kullanılır. Ancak, bir proxy bu başlığı hop-by-hop olarak ele alır ve uygun doğrulama olmadan iletirse, bir saldırgan IP adresini taklit edebilir.
2024-02-10 18:14:16 +00:00
**Saldırı Senaryosu:**
1. Saldırgan, `X-Forwarded-For` başlığında sahte bir IP adresi içeren bir HTTP isteği gönderir.
2. Saldırgan ayrıca `Connection: close, X-Forwarded-For` başlığını ekler, bu da proxy'nin `X-Forwarded-For`'u hop-by-hop olarak ele almasını sağlar.
3. Yanlış yapılandırılmış proxy, sahte `X-Forwarded-For` başlığı olmadan isteği web uygulamasına iletir.
4. Web uygulaması, orijinal `X-Forwarded-For` başlığını görmediği için isteği güvenilir bir proxy'den geliyormuş gibi değerlendirebilir ve yetkisiz erişime izin verebilir.
### Hop-by-Hop Başlık Enjeksiyonu ile Önbellek Zehirleme
Eğer bir önbellek sunucusu hop-by-hop başlıklarına dayanarak içeriği yanlış bir şekilde önbelleğe alırsa, bir saldırgan kötü niyetli başlıklar enjekte ederek önbelleği zehirleyebilir. Bu, aynı kaynağı talep eden kullanıcılara yanlış veya kötü niyetli içerik sunar.
2024-02-10 18:14:16 +00:00
**Saldırı Senaryosu:**
1. Bir saldırgan, önbelleğe alınmaması gereken bir hop-by-hop başlığı (örneğin, `Connection: close, Cookie`) ile bir web uygulamasına istek gönderir.
2. Kötü yapılandırılmış önbellek sunucusu hop-by-hop başlığını kaldırmaz ve yanıtı saldırganın oturumuna özgü olarak önbelleğe alır.
3. Aynı kaynağı talep eden gelecekteki kullanıcılar, saldırgana özel olarak hazırlanmış önbelleğe alınmış yanıtı alır; bu da oturum kaçırma veya hassas bilgilerin ifşasına yol açabilir.
{% hint style="success" %}
Learn & practice 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">\
Learn & practice 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
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}