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

6 KiB

Cabeçalhos hop-by-hop

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

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 no 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 em RFC 2616. Cabeçalhos adicionais podem ser designados como hop-by-hop por meio 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 seja esperado 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 dos cabeçalhos hop-by-hop pode ser testado observando as alterações 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 possíveis ataques:

Bypass de 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 este cabeçalho como hop-by-hop e encaminhá-lo 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, fazendo com 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 falsificado X-Forwarded-For.
  4. A aplicação web, não vendo o cabeçalho original X-Forwarded-For, pode considerar a solicitação como vinda 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 em cache a resposta específica para a sessão do atacante.
  3. Futuros usuários solicitando o mesmo recurso recebem a resposta em cache, que foi adaptada para o atacante, potencialmente levando a sequestro de sessão ou exposição de informações sensíveis.
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!