Hoje em dia, muitos componentes de aplicacoes web sao executadas no computador do usuario (como JavaScript), e nao apenas no servidor do aplicativo provedor (como Servlets). Com o passar do tempo, houve a necessidade das aplicacoes web fornecerem uma variedade maior de servicos aos seus usuarios, sendo ao mesmo tempo funcionais, interativos e faceis de usar. Por esta razao, mesmo a aplicacao mais simples pode, eventualmente, obter e processar uma grande quantidade de parametros diferentes HTTP. Isso pode resultar na exposicao do S.O a uma grande variedade de vulnerabilidades de validacao de entrada ou injecao, como por exemplo Cross-site Scripting, injecao de SQL e injecao de comandos. O HTTP Parameter Pollution e um ataque de injecao relativamente antigo e com pouco grau de risco, ate entao, e so recentemente comecou a atrair atencao no mundo da seguranca web.Esta vulnerabilidade foi apresentada pela primeira vez por Stefano di Paola e Carettoni Luca em 2009, na conferencia OWASP que acontece na Polonia. HTTP Parameter Pollution tira proveito do fato de que o HTTP permite serem utilizados mais de uma vez os mesmos parametros, o que expoe alguns aplicativos da web para usuarios mal-intencionados. HPP e uma tecnica considerada simples, porem bastante eficaz e afeta tanto o lado do cliente quanto o lado do servidor web. Quando explorada, o impacto de um ataque de injecao de HPP depende da funcionalidade do aplicativo web. Apesar de sua simplicidade, o HTTP Parameter Pollution pode ser muito perigoso e pode comprometer sites e aplicativos web considerados seguros.Abaixo explicaremos em detalhes como um HTTP Parameter Pollution pode ser lancado no front-end (cliente) ou o back-end (servidor) do aplicativo web. HTTP Parameter Pollution:O HTTP Parameter Pollution, como o nome proprio nome ja diz, polui os parametros HTTP de uma aplicacao web com o intuito de rodar um job malicioso ou obter um comportamento diferente do previsto para a aplicacao web.Esta tecnica e considerada simples, mas muito eficaz. Alem disso, a principal razao este ataque pode ser realizado e porque a entrada nao e obter higienizado adequadamente. HPP injeta codigos delimitadores de sequencia em parametros de consulta existentes ou outros HTTP (GET / POST / Cookie), que torna-se facil a substituicao dos valores dos parametros que ja existem para injetar um novo parametro ou explorar diretamente as variaveis de acesso. Este ataque afeta todas as tecnologias web, seja em execucao do lado do cliente ou do lado do servidor.Geralmente, um invasor pode usar vulnerabilidades HPP para: - Substituir parametros existentes codificados HTTP; - Alterar ou modificar o comportamento normal do aplicativo; - Acessar e explorar variaveis potenciais que nao estao sendo controladas adequadamente; - Ignorar regras WAFS ou mecanismos de validacao de entrada;Assim, se uma aplicacao web e vulneravel a ataques HPP, a seguranca da aplicacao web esta comprometida, dando um atacante uma maneira facil de realizar atividades maliciosas ou ilegais.Tecnologias WebHTTP permite a apresentacao do mesmo parametro mais de uma vez. A manipulacao do valor de cada parametro depende de como cada tecnologia analisa estes parametros. Entao, o que acontece se o mesmo parametro e fornecido mais de uma vez?Dominar