O que é um teste de penetração de aplicativos da Web?
Um teste de penetração de aplicativos da web é uma atividade projetada para avaliar como um programa baseado na Internet se comportaria durante um ataque ou exploração. Esses testes usam uma variedade de programas de software para verificar um aplicativo e, em seguida, executar ações diferentes que podem ocorrer durante um ataque real. Um teste de penetração de aplicativos da web pode ser realizado por uma equipe de desenvolvimento ou por um provedor de serviços de terceiros. Se um fornecedor externo for usado, a equipe de desenvolvimento ou a equipe de tecnologia da informação (TI) às vezes não será notificada do teste pela gerência. Isso pode permitir que um teste de penetração de aplicativos da Web descubra falhas que poderiam passar despercebidas, o que pode permitir que esses problemas sejam corrigidos antes do lançamento do software.
Aplicativos da Web são pacotes de software que podem ser acessados e executados na Internet. Esses aplicativos podem executar muitas funções e, em alguns casos, são responsáveis pelo tratamento de dados considerados particulares ou até valiosos. Para evitar ataques comprometedores, normalmente são realizados testes de penetração para localizar pontos fracos ou áreas facilmente exploráveis no código.
Os testes típicos de penetração de aplicativos da Web começam com uma fase de coleta de informações. O objetivo desta etapa é determinar o máximo de informações possível sobre o aplicativo. Ao enviar solicitações para o aplicativo e usar ferramentas como scanners e mecanismos de pesquisa, muitas vezes é possível obter informações como números de versão de software e mensagens de erro que costumam ser usadas para encontrar explorações posteriormente.
Depois que uma quantidade suficiente de informações é acumulada, o próximo objetivo de um teste de penetração de aplicativos da web é executar vários ataques e explorações diferentes. Em alguns casos, as informações coletadas durante a primeira fase identificarão explorações às quais o aplicativo pode estar vulnerável. Se nenhuma vulnerabilidade óbvia foi detectada, uma variedade completa de ataques e explorações pode ser tentada.
Muitas vulnerabilidades técnicas diferentes podem ser localizadas por um teste de penetração de aplicativos da web. Esses testes geralmente tentam usar métodos como manipulação de localizador universal de recursos (URL), seqüestro de sessão e injeção de linguagem de consulta estruturada (SQL) para invadir um aplicativo. Também pode haver uma tentativa de iniciar um estouro de buffer ou outras ações semelhantes que podem causar um comportamento anormal do aplicativo. Se algum desses ataques ou explorações fizer com que o aplicativo revele dados confidenciais para o testador de penetração, as falhas são normalmente relatadas junto com um curso de ação sugerido.