HTTP Response Splitting
O que é HTTP Response Splitting?
HTTP Response SplittingVulnerabilidade de injeção em que caracteres CR/LF não confiáveis na entrada do utilizador forçam o servidor a emitir respostas HTTP adicionais controladas pelo atacante.
O HTTP response splitting (injeção CRLF) ocorre quando uma aplicação reflete entrada do utilizador em cabeçalhos de resposta — tipicamente Location, Set-Cookie ou cabeçalhos personalizados — sem filtrar retornos de carro e quebras de linha. Injetando %0d%0a, o atacante termina o bloco original de cabeçalhos e introduz cabeçalhos, linhas de estado ou até uma segunda resposta completa. As consequências incluem envenenamento de cache, XSS, fixação de sessão e fuga de credenciais para intermediários. CWE-113 e CVE-2004-0500 evidenciaram o impacto. Mitigações: rejeitar ou escapar CR/LF nos valores de cabeçalho, usar frameworks que proíbem quebras de linha em APIs de cabeçalho e preferir helpers de redireção que codificam os seus inputs.
● Exemplos
- 01
Definir um cabeçalho Location a partir de um parâmetro de utilizador com %0d%0a para injetar Set-Cookie.
- 02
Dividir uma resposta para que a cache armazene um corpo controlado pelo atacante para /home.
● Perguntas frequentes
O que é HTTP Response Splitting?
Vulnerabilidade de injeção em que caracteres CR/LF não confiáveis na entrada do utilizador forçam o servidor a emitir respostas HTTP adicionais controladas pelo atacante. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa HTTP Response Splitting?
Vulnerabilidade de injeção em que caracteres CR/LF não confiáveis na entrada do utilizador forçam o servidor a emitir respostas HTTP adicionais controladas pelo atacante.
Como se defender contra HTTP Response Splitting?
As defesas contra HTTP Response Splitting costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para HTTP Response Splitting?
Nomes alternativos comuns: Injeção CRLF em HTTP, Injeção de cabeçalhos HTTP.