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

60 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)
<details>
<summary>Support HackTricks</summary>
* 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.
</details>
{% endhint %}
**Це резюме поста [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 заголовки специфічні для одного з'єднання на транспортному рівні, використовуються в основному в HTTP/1.1 для управління даними між двома вузлами (наприклад, клієнт-проксі або проксі-проксі) і не призначені для пересилання. Стандартні hop-by-hop заголовки включають `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` та `Proxy-Authenticate`, як визначено в [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1). Додаткові заголовки можуть бути позначені як hop-by-hop через заголовок `Connection`.
### Зловживання Hop-by-Hop Заголовками
Неправильне управління hop-by-hop заголовками проксі може призвести до проблем з безпекою. Хоча від проксі очікується, що вони видалять ці заголовки, не всі це роблять, що створює потенційні вразливості.
### Тестування обробки Hop-by-Hop Заголовків
Обробку hop-by-hop заголовків можна протестувати, спостерігаючи за змінами у відповідях сервера, коли конкретні заголовки позначені як hop-by-hop. Інструменти та скрипти можуть автоматизувати цей процес, виявляючи, як проксі управляють цими заголовками та потенційно виявляючи неправильні налаштування або поведінку проксі.
Зловживання hop-by-hop заголовками може призвести до різних наслідків для безпеки. Нижче наведено кілька прикладів, які демонструють, як ці заголовки можуть бути маніпульовані для потенційних атак:
### Обхід Контролю Безпеки з `X-Forwarded-For`
Зловмисник може маніпулювати заголовком `X-Forwarded-For`, щоб обійти контроль доступу на основі IP. Цей заголовок часто використовується проксі для відстеження початкової IP-адреси клієнта. Однак, якщо проксі обробляє цей заголовок як hop-by-hop і пересилає його без належної перевірки, зловмисник може підробити свою IP-адресу.
**Сценарій Атаки:**
1. Зловмисник надсилає HTTP-запит до веб-додатку за проксі, включаючи підроблену IP-адресу в заголовку `X-Forwarded-For`.
2. Зловмисник також включає заголовок `Connection: close, X-Forwarded-For`, спонукаючи проксі обробляти `X-Forwarded-For` як hop-by-hop.
3. Неправильно налаштований проксі пересилає запит до веб-додатку без підробленого заголовка `X-Forwarded-For`.
4. Веб-додаток, не бачачи оригінального заголовка `X-Forwarded-For`, може вважати запит таким, що надходить безпосередньо з довіреного проксі, потенційно дозволяючи несанкціонований доступ.
### Отруєння Кешу через Впровадження Hop-by-Hop Заголовків
Якщо кеш-сервер неправильно кешує вміст на основі hop-by-hop заголовків, зловмисник може впровадити шкідливі заголовки, щоб отруїти кеш. Це призведе до надання неправильного або шкідливого вмісту користувачам, які запитують той самий ресурс.
**Сценарій Атаки:**
1. Зловмисник надсилає запит до веб-додатку з hop-by-hop заголовком, який не повинен кешуватися (наприклад, `Connection: close, Cookie`).
2. Погано налаштований кеш-сервер не видаляє hop-by-hop заголовок і кешує відповідь, специфічну для сесії зловмисника.
3. Майбутні користувачі, які запитують той самий ресурс, отримують кешовану відповідь, яка була адаптована для зловмисника, що потенційно призводить до викрадення сесії або розкриття чутливої інформації.
{% 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)
<details>
<summary>Support HackTricks</summary>
* 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.
</details>
{% endhint %}