de fazer com que a URL seja reescrita. Um exemplo pode ser visto abaixo:Sequencia codificada:% http://host/xyz 26page% 3deditURL reescrita:http://host/page.php?page=view&page=xyz&action=edit&id=0Como mencionado antes, a capacidade da injeccao depende dos atributos da ligacao e suas funcionalidades expostas.Ataques HPP do lado do servidor podem tambem ser utilizadas para varios canais de poluicao e para ignorar tokens CSRF.A fim de melhor entender o ataque HPP lado do servidor, o exemplo a seguir visa tentar explicar como esse ataque pode ignorar as regras de firewall da aplicacao web ou filtros baseados em assinatura usando concatenacao de parametros com os mesmos valores. A seguinte URL / pedido e enviado para o servidor:http://testaspnet.vulnweb.com/test/vuln.cgi?par1=val1&par2=val2O servidor web vai analisar a consulta acima e vai dividi-lo em pares (nome / valor), a fim de ser manipulado ou usado pelo aplicativo web. Assim, a aplicacao web tera par1 e par2 com valores val1 e val2 respectivamente. Se a aplicacao web e vulneravel a ataques de HPP, um atacante poderia explora-la e apresentar um conteudo malicioso. Tomemos o caso seguinte:http://testaspnet.vulnweb.com/test/vuln.cgi?par1=val1&par1=val2Voce pode ver que ha dois parametros par1, cada um contendo dois valores diferentes. Neste caso, como e a aplicacao vai rodar isso? Depende da tecnologia, como pode ser visto no paragrafo de Technologias Web, logo acima. Por causa dos diferentes metodos de manipulacao de parametros, os hackers podem controla-los, a fim de evitar os mecanismos de seguranca e atacar a aplicacao web.Em outro exemplo, onde a tecnologia e web ASP.NET / IIS, um hacker pode enviar o seguinte pedido para o servidor:http://testaspnet.vulnweb.com/test/vuln.cgi?par1 = ...Desde ASP.NET / IIS concatena os valores dos mesmos parametros, o resultado final sera . Consequentemente, um atacante pode expandir isso em um ataque de script cross-site completo.Se houver um Web Application Firewall instalado na frente deste aplicativo, ele ira verificar cada ocorrencia do parametro separadamente, em cima das regras para ataques de injecao. Como resultado, o firewall da aplicacao web ira verificar o primeiro parametro par1 = Este e um exemplo de como um atacante pode contornar alguns firewalls de aplicacoes web usando regras HPP, permitindo que novos ataques sejam efetuados.Contramedidas / prevencaoA fim de evitar estes tipos de vulnerabilidades, uma validacao de entrada extensa e adequada devera ser executada. Existem metodos seguros para cada linguagem web. Alem disso, a conscientizacao sobre o fato de que clientes e usuarios podem fornecer mais do que um parametro deve ser levantada.ConclusaoUm ataque de injecao antigo e que nao atraiu a atencao da comunidade de seguranca, nos faz refletir o fato de que este tipo de ataque de injecao nunca deve ser subestimado. A falta de padronizacao dos metodos que cada tecnologia web engloba, juntamente com a complexidade e prazos curtos de entrega, podem nos levar a vulnerabilidades como essa. Ficou claro que tal vulnerabilidade, apesar de sua simplicidade, pode ser muito perigosa e pode comprometer os sistemas de seguranca do seu site. Testes adequados devem ser realizados a fim de determinar se o seu site e vulneravel a ataques HPP, dessa forma voce pode limitar as possibilidades e diminuir as oportunidades de exploracao.