hacktricks/pentesting-web/abusing-hop-by-hop-headers.md
2024-03-29 19:49:46 +01:00

8.5 KiB
Raw Blame History

заголовки hop-by-hop

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Це резюме посту 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. Додаткові заголовки можуть бути визначені як 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. Майбутні користувачі, які запитують той самий ресурс, отримують кешовану відповідь, яка була налаштована для атакувальника, що потенційно може призвести до захоплення сесії або розкриття чутливої інформації.
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!