hop-by-hop headers

Support HackTricks

Це резюме поста 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. Майбутні користувачі, які запитують той самий ресурс, отримують кешовану відповідь, яка була адаптована для зловмисника, що потенційно призводить до викрадення сесії або розкриття чутливої інформації.

Support HackTricks

Last updated