Teste de segurança - hackeando aplicativos da web
Existem várias metodologias / abordagens que podemos usar como referência para realizar um ataque.
Aplicação Web - Metodologias de PenTesting
Pode-se levar em consideração os seguintes padrões ao desenvolver um modelo de ataque.
Entre a lista a seguir, OWASP é o mais ativo e há uma série de contribuintes. Vamos nos concentrar nas técnicas OWASP que cada equipe de desenvolvimento leva em consideração antes de projetar um aplicativo da web.
OSSTMM - Manual de metodologia de teste de segurança de código aberto
Técnicas de teste OWASP - protocolo aberto de segurança de aplicativos da Web
OWASP Top 10
A equipe do Open Web Application Security Protocol divulgou as 10 principais vulnerabilidades que prevalecem na web nos últimos anos. Abaixo está a lista de falhas de segurança que são mais prevalentes em um aplicativo baseado na web.
Aplicativo - Prático
Para entender cada uma das técnicas, vamos trabalhar com um aplicativo de exemplo. Vamos realizar o ataque ao 'WebGoat', o aplicativo J2EE que é desenvolvido explicitamente com falhas de segurança para fins de aprendizagem.
Os detalhes completos sobre o projeto webgoat podem ser localizados https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project. Para baixar o aplicativo WebGoat, navegue atéhttps://github.com/WebGoat/WebGoat/wiki/Installation-(WebGoat-6.0) e ir para a seção de downloads.
Para instalar o aplicativo baixado, primeiro certifique-se de que não haja nenhum aplicativo em execução na porta 8080. Ele pode ser instalado usando apenas um único comando - java -jar WebGoat-6.0.1-war-exec.jar. Para obter mais detalhes, visite Instalação WebGoat
Após a instalação, devemos ser capazes de acessar o aplicativo navegando para http://localhost:8080/WebGoat/attack e a página seria exibida conforme mostrado abaixo.
Podemos usar as credenciais de convidado ou administrador conforme exibido na página de login.
Web Proxy
Para interceptar o tráfego entre o cliente (navegador) e o servidor (sistema onde a aplicação Webgoat está hospedada em nosso caso), é necessário utilizar um proxy web. Usaremos Burp Proxy que pode ser baixado dehttps://portswigger.net/burp/download.html
É suficiente baixar a versão gratuita do pacote burp conforme mostrado abaixo.
Configurando Burp Suite
Burp Suite é um proxy web que pode interceptar cada pacote de informação enviado e recebido pelo navegador e servidor web. Isso nos ajuda a modificar o conteúdo antes que o cliente envie as informações para o servidor web.
Step 1- O aplicativo é instalado na porta 8080 e o Burp é instalado na porta 8181 conforme mostrado abaixo. Inicie o pacote Burp e faça as seguintes configurações para abri-lo na porta 8181, conforme mostrado abaixo.
Step 2- Devemos garantir que o Burp esteja ouvindo a porta # 8080 onde o aplicativo está instalado para que o pacote Burp possa interceptar o tráfego. Essas configurações devem ser feitas na guia do osciloscópio do Burp Suite, conforme mostrado abaixo.
Step 3- Em seguida, faça as configurações de proxy do navegador para ouvir a porta 8181 (porta Burp Suite). Assim, configuramos o proxy da Web para interceptar o tráfego entre o cliente (navegador) e o servidor (servidor da Web) conforme mostrado abaixo -
Step 4 - O instantâneo da configuração é mostrado abaixo com a ajuda de um diagrama de fluxo de trabalho simples, conforme mostrado abaixo