# Cabeçalhos hop-by-hop
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
​​​[**RootedCON**](https://www.rootedcon.com/) é o evento de cibersegurança mais relevante na **Espanha** e um dos mais importantes na **Europa**. Com **a missão de promover o conhecimento técnico**, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas. {% embed url="https://www.rootedcon.com/" %} ## O que é um cabeçalho hop-by-hop? Um cabeçalho hop-by-hop é um cabeçalho projetado para ser processado e consumido pelo proxy que está manipulando a solicitação, em oposição a um cabeçalho end-to-end. De acordo com o [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1), a especificação HTTP/1.1 trata os seguintes cabeçalhos como hop-by-hop por padrão: `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization` e `Proxy-Authenticate`. Ao encontrar esses cabeçalhos em uma solicitação, um proxy compatível deve processar ou executar o que esses cabeçalhos estão indicando e não encaminhá-los para o próximo hop. Além desses padrões, uma solicitação [também pode definir um conjunto personalizado de cabeçalhos para serem tratados como hop-by-hop](https://tools.ietf.org/html/rfc2616#section-14.10) adicionando-os ao cabeçalho `Connection`, como abaixo: ``` Connection: close, X-Foo, X-Bar ``` ## A teoria sobre o abuso de cabeçalhos hop-by-hop Em teoria, os proxies devem remover os cabeçalhos hop-by-hop recebidos antes de enviá-los para o próximo endereço. Mas você pode encontrar na prática que isso é feito por alguns proxies e outros apenas enviam todos os cabeçalhos adicionando seu próprio cabeçalho `Connection`. ![](<../.gitbook/assets/image (138).png>) ## Testando exclusões hop-by-hop Se você encontrar um cabeçalho que faz com que a resposta do servidor mude se ele estiver definido ou não, então você pode procurar por exclusões hop-by-hop. Por exemplo, o cabeçalho cookie fará com que a resposta do servidor seja dramaticamente diferente se ele estiver definido (com um conteúdo válido) ou não. Então, envie uma solicitação com um cabeçalho válido e com este valor do cabeçalho Connection `Connection: close, Cookie` se a resposta for a mesma que se o cookie não tivesse sido enviado, então há um proxy removendo cabeçalhos. Você pode descobrir se a resposta do servidor é diferente se um cabeçalho for excluído usando esta técnica usando [este script](https://gist.github.com/ndavison/298d11b3a77b97c908d63a345d3c624d). Então, se você passar uma lista de cabeçalhos conhecidos, como [esta](https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/BurpSuite-ParamMiner/lowercase-headers), você pode observar quais cabeçalhos estão causando efeitos apesar de não estarem na sua solicitação original: ``` for HEADER in $(cat headers.txt); do python poison-test.py -u "https://target" -x "$HEADER"; sleep 1; done ``` Este ciclo percorrerá toda a lista de cabeçalhos e imprimirá se a presença dele na lista hop-by-hop criou um código de status diferente ou um tamanho de corpo de resposta. ## Abusando do X-Forwarded-For Em geral, os proxies adicionam os IPs dos clientes dentro do cabeçalho `X-Forwarded-For` para que o próximo salto saiba de onde vem a petição. No entanto, se um atacante enviar um valor de Conexão como `Connection: close, X-Forwarded-For` e o primeiro proxy enviar os cabeçalhos hop-by-hop com seus valores (ele envia o valor especial de Conexão), então o segundo valor pode excluir o cabeçalho X-Forward-For.\ No final, o aplicativo final não saberá quem enviou a solicitação e pode pensar que foi o último proxy, e nesse cenário um atacante pode ser capaz de acessar recursos protegidos por lista branca de IP (talvez algum `/admin`?). Dependendo do sistema que está sendo visado, você também pode ter `Forwarded`, `X-Real-IP` e um monte de outros que são menos comuns. ## Detectando Proxies e identificando serviços Esta técnica pode ser útil para detectar proxies (usando a técnica de cookie) ou mesmo para detectar serviços. Por exemplo, se você abusar dessa técnica para excluir o cabeçalho `X-BLUECOAT-VIA` e um erro for lançado, então você descobriu que o Bluecoat estava sendo usado. ## Outros ataques * Para um possível envenenamento de cache DoS abusando dessa técnica, leia o link original * Isso pode ser útil em ataques que permitem que você insira novos cabeçalhos (baixa probabilidade) * Também pode ser útil para contornar funcionalidades defensivas. Por exemplo, se a falta de um cabeçalho significa que uma solicitação não deve ser processada por um WAF, você pode contornar um WAF com essa técnica. ## Referências {% embed url="https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers" %} ​
[**RootedCON**](https://www.rootedcon.com/) é o evento de cibersegurança mais relevante na **Espanha** e um dos mais importantes na **Europa**. Com **a missão de promover o conhecimento técnico**, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.\ {% embed url="https://www.rootedcon.com/" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique 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 Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.