6.4 KiB
HTTP Response Smuggling / Desync
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegrama ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e hacktricks-cloud repo.
Desincronização da fila de solicitações HTTP
Em primeiro lugar, esta técnica abusa de uma vulnerabilidade de Smuggling de Solicitação HTTP, então você precisa saber o que é isso:
A principal diferença entre esta técnica e um Smuggling de Solicitação HTTP comum é que, em vez de atacar a solicitação da vítima adicionando um prefixo a ela, vamos vazar ou modificar a resposta que a vítima recebe. Isso é feito enviando não 1 solicitação e meia para abusar do Smuggling de Solicitação HTTP, mas enviando 2 solicitações completas para dessincronizar a fila de respostas dos proxies.
Isso ocorre porque seremos capazes de dessincronizar a fila de respostas para que a resposta da solicitação legítima da vítima seja enviada ao atacante, ou injetando conteúdo controlado pelo atacante na resposta à vítima.
Dessincronização do pipeline HTTP
O HTTP/1.1 permite solicitar diferentes recursos sem precisar esperar pelos anteriores. Portanto, se houver um proxy no meio, é tarefa do proxy manter uma correspondência sincronizada das solicitações enviadas ao backend e das respostas recebidas dele.
No entanto, há um problema de dessincronização da fila de respostas. Se um atacante enviar um ataque de Smuggling de Resposta HTTP e as respostas para a solicitação inicial e a falsificada forem respondidas imediatamente, a resposta falsificada não será inserida na fila de resposta da vítima, mas será apenas descartada como um erro.
Portanto, é necessário que a solicitação falsificada leve mais tempo para ser processada no servidor de back-end. Portanto, no momento em que a solicitação falsificada é processada, a comunicação com o atacante terá terminado.
Se, nessa situação específica, uma vítima enviou uma solicitação e a solicitação falsificada é respondida antes da solicitação legítima, a resposta falsificada será enviada à vítima. Portanto, o atacante estará controlando a solicitação "realizada" pela vítima.
Além disso, se o atacante então realizar uma solicitação e a resposta legítima à solicitação da vítima for respondida antes da solicitação do atacante. A resposta à vítima será enviada ao atacante, roubando a resposta da vítima (que pode conter, por exemplo, o cabeçalho Set-Cookie).
Múltiplas Injeções Aninhadas
Outra diferença interessante com o Smuggling de Solicitação HTTP comum é que, em um ataque de smuggling comum, o objetivo é modificar o início da solicitação da vítima para que ela execute uma ação inesperada. Em um ataque de Smuggling de Resposta HTTP, como você está enviando solicitações completas, você pode **injetar em uma
Referências
- Não se esqueça de conferir este vídeo explicando todas essas técnicas muito bem: https://www.youtube.com/watch?v=suxDcYViwao&t=1343s
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.