hacktricks/pentesting-web/http-response-smuggling-desync.md

6.4 KiB

HTTP Response Smuggling / Desync

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

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

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥