Buscar

Divisão de resposta HTTP

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Divisão de resposta HTTP
Descrição
A Divisão de resposta HTTP ocorre quando:
* Dados entram em uma aplicação web através de uma fonte não confiável, mais freqüentemente uma solicitação HTTP.
* Os dados são incluídos em um cabeçalho de resposta HTTP enviado para um usuário da web, sem ser validado para personagens maliciosos.
Divisão de resposta HTTP é um meio para um fim, não um fim em si mesmo. Em sua raiz, o ataque é simples: um atacante passa dados maliciosos para uma aplicação vulnerável, e a aplicação inclui os dados em um cabeçalho de resposta HTTP.
Para montar um exploit bem sucedido, o aplicativo deve permitir a entrada que contém CR (retorno de carro, também dado por% 0d ou \ r) e LF (avanço de linha, também dado por% 0a ou \ n) caracteres no cabeçalho. Esses personagens não só dão ataques de controle dos restantes cabeçalhos e corpo da resposta da aplicação pretende enviar, mas também permitir-lhes criar respostas adicionais totalmente sob seu controle.
Exemplos
O segmento de código a seguir lê o nome do autor de um weblog, o autor, a partir de uma solicitação HTTP ea coloca em um cabeçalho de cookie de uma resposta HTTP.
String author = request.getParameter(AUTHOR_PARAM);
	...
	Cookie cookie = new Cookie("author", author);
 cookie.setMaxAge(cookieExpiration);
 response.addCookie(cookie);
 
Supondo que uma string que consiste de caracteres alfanuméricos padrão, como "Jane Smith", é apresentada no pedido de resposta HTTP, incluindo o cookie pode ter a seguinte forma:
HTTP/1.1 200 OK
	...
	Set-Cookie: author=Jane Smith
	...
No entanto, porque o valor do cookie é formado de uma entrada do usuário inválida, a resposta só vai manter esta forma, se o valor enviado para AUTHOR_PARAM não contém quaisquer caracteres CR e LF. Se um atacante envia uma seqüência de mal-intencionados, como "Wiley Hacker \ r \ nHTTP/1.1 200 OK \ r \ n ...", então a resposta HTTP seria dividido em duas respostas da seguinte forma:
HTTP/1.1 200 OK
	...
	Set-Cookie: author=Wiley Hacker
	
	HTTP/1.1 200 OK
	...
Claramente, a segunda resposta é totalmente controlada pelo invasor e pode ser construída com qualquer cabeçalho e conteúdo do corpo desejada. A capacidade do atacante para a construção de respostas HTTP arbitrárias permite uma variedade de ataques resultantes, incluindo: Desfiguração Cross-Usuário, Envenenamento de Cache, Cross-site Scripting (XSS) e Sequestro de Página (HIJACKING).

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais