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

5.7 KiB

hop-by-hop headers

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Este é um resumo do post https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers

Os cabeçalhos hop-by-hop são específicos para uma única conexão de nível de transporte, usados principalmente em HTTP/1.1 para gerenciar dados entre dois nós (como cliente-proxy ou proxy-proxy), e não devem ser encaminhados. Os cabeçalhos hop-by-hop padrão incluem Keep-Alive, Transfer-Encoding, TE, Connection, Trailer, Upgrade, Proxy-Authorization e Proxy-Authenticate, conforme definido na RFC 2616. Cabeçalhos adicionais podem ser designados como hop-by-hop através do cabeçalho Connection.

Abusando dos Cabeçalhos Hop-by-Hop

O gerenciamento inadequado dos cabeçalhos hop-by-hop por proxies pode levar a problemas de segurança. Embora se espere que os proxies removam esses cabeçalhos, nem todos o fazem, criando vulnerabilidades potenciais.

Testando o Tratamento de Cabeçalhos Hop-by-Hop

O tratamento de cabeçalhos hop-by-hop pode ser testado observando mudanças nas respostas do servidor quando cabeçalhos específicos são marcados como hop-by-hop. Ferramentas e scripts podem automatizar esse processo, identificando como os proxies gerenciam esses cabeçalhos e potencialmente descobrindo configurações incorretas ou comportamentos de proxy.

Abusar dos cabeçalhos hop-by-hop pode levar a várias implicações de segurança. Abaixo estão alguns exemplos demonstrando como esses cabeçalhos podem ser manipulados para potenciais ataques:

Contornando Controles de Segurança com X-Forwarded-For

Um atacante pode manipular o cabeçalho X-Forwarded-For para contornar controles de acesso baseados em IP. Este cabeçalho é frequentemente usado por proxies para rastrear o endereço IP de origem de um cliente. No entanto, se um proxy tratar esse cabeçalho como hop-by-hop e o encaminhar sem validação adequada, um atacante pode falsificar seu endereço IP.

Cenário de Ataque:

  1. O atacante envia uma solicitação HTTP para uma aplicação web atrás de um proxy, incluindo um endereço IP falso no cabeçalho X-Forwarded-For.
  2. O atacante também inclui o cabeçalho Connection: close, X-Forwarded-For, solicitando que o proxy trate X-Forwarded-For como hop-by-hop.
  3. O proxy mal configurado encaminha a solicitação para a aplicação web sem o cabeçalho X-Forwarded-For falsificado.
  4. A aplicação web, não vendo o cabeçalho original X-Forwarded-For, pode considerar a solicitação como vindo diretamente de um proxy confiável, potencialmente permitindo acesso não autorizado.

Envenenamento de Cache via Injeção de Cabeçalho Hop-by-Hop

Se um servidor de cache armazenar incorretamente conteúdo com base em cabeçalhos hop-by-hop, um atacante poderia injetar cabeçalhos maliciosos para envenenar o cache. Isso serviria conteúdo incorreto ou malicioso para usuários que solicitam o mesmo recurso.

Cenário de Ataque:

  1. Um atacante envia uma solicitação para uma aplicação web com um cabeçalho hop-by-hop que não deve ser armazenado em cache (por exemplo, Connection: close, Cookie).
  2. O servidor de cache mal configurado não remove o cabeçalho hop-by-hop e armazena a resposta específica para a sessão do atacante.
  3. Usuários futuros que solicitam o mesmo recurso recebem a resposta em cache, que foi adaptada para o atacante, potencialmente levando ao sequestro de sessão ou exposição de informações sensíveis.

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}