* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
**Este é um resumo do post [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](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](https://tools.ietf.org/html/rfc2616#section-13.5.1). Cabeçalhos adicionais podem ser designados como hop-by-hop por meio do cabeçalho `Connection`.
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:
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 o encaminhar sem validação adequada, um atacante pode falsificar seu endereço IP.
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.
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 da 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.
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.