Cross-site scripting (XSS) é um tipo de vulnerabilidade do sistema de segurança de um computador, encontrado normalmente em aplicações web que activam ataques maliciosos ao injectarem client-side script dentro das páginas web vistas por outros usuários. Umscript de exploração de vulnerabilidade cross-site pode ser usado pelos atacantes para escapar aos controlos de acesso que usam a política de mesma origem.
Para estarmos seguros, é extremamente importante em nosso ciclo de testes, abordarmos o PEN TEST (Teste de Penetração).
O teste de penetração é um método que avalia a segurança de um sistema de computador ou de uma rede, simulando um ataque de uma fonte maliciosa. O processo envolve uma análise nas atividades do sistema, que envolvem a busca de alguma vulnerabilidade em potencial que possa ser resultado de uma má configuração do sistema, falhas em hardwares/softwares desconhecidas, deficiência no sistema operacional ou técnicas contramedidas. Todas as análises submetidas pelos testes escolhidos são apresentadas no sistema, junto com uma avaliação do seu impacto e muitas vezes com uma proposta de resolução ou de uma solução técnica.
E uma ferramenta que pode apoiar no PEN TEST e no item XSS é a ZAP (Zed Attack Proxy Project) da OWASP.
Ela é uma ferramenta gratuita que pode ser baixada aqui: https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
Instalação:
Instale a ultima versão do JAVA: https://www.java.com/pt_BR/download/
Depois configure a Maquina Virtual JAVA colocando o seguinte parametro nas variaveis de ambiente no seu Windows em Configurações –> Sistema –> Avançado – Variáveis de Ambiente.
Váriavel: _JAVA_OPTIONS
Valor: -Xmx512M
Depois instale normalmente o ZAP e execute ele.
Teste Simples:
Para conhecer mais a ferramenta, você pode iniciar um teste simples, colocando o endereço da aplicação Web e clicar em Attack!, porém esse teste será superficial, pois ele não entrará dentro de diretórios, relatórios e itens adicionais, que necessitem de logon. Mas esse ataque, se for em um site simples ou sua aplicação tiver problemas de segurança logo no inicio, já será possível colher dados nesse simples teste.
Veja em Alertas o que foi identificado em um teste simples.
Teste Completo:
Para um teste mais profundo de segurança, o ideal é ativar o ZAP e você executar seus testes funcionais enquanto o ZAP captura informações de seu aplicativo Web.
Para isso, inicie o ZAP:
Valide o endereço proxy que ele forneceu, no nosso caso foi localhost na porta 8080.
Vá nas configurações do seu navegar e configure o proxy, para que todas as requisições feitas por você ao navegar em sua aplicação, sejam capturadas pelo ZAP para análise.
Comece a navegar e perceba que automaticamente ele já começa a capturar o tráfego. Concentre sua navegação no site de teste, para que a captura seja produtiva.
Análises e Execuções de Testes Adicionais:
Bom, agora que sabemos como configurar o ZAP, executar testes e acompanhar análises, vamos avaliar o que ele oferece de itens de testes.
Teste XSS:
Para executar validações XSS, execute o seguinte passo:
Abra o ZAP e configure no seu navegador o proxy, conforme o tutorial acima, abra o site que você ira executar os testes, depois retorne ao ZAP e selecione o site:
Clique no botão PLAY e comece a navegar. Paralelamente, conforme sua navegação, o sistema estará executando testes nos locais que você navegar, identificando possíveis locais com XSS ou similar.
Depois acompanhe os resultados, se necessário execute novamente a Varredura Ativa do ponto que você estiver no aplicativo web e realize novamente o teste.
É isso aí, até a próxima!
Alan Carlos