owasp zap tutorial comprehensive review owasp zap tool
Este tutorial explica o que é OWASP ZAP, como funciona, como instalar e configurar o proxy ZAP. Também inclui demonstração de autenticação ZAP e gerenciamento de usuários:
Por que usar ZAP para testes de caneta?
Para desenvolver uma aplicação web segura, é preciso saber como eles serão atacados. Aí vem o requisito de segurança de aplicativo da web ou teste de penetração.
Para fins de segurança, as empresas usam ferramentas pagas, mas OWASP ZAP é uma ótima alternativa de código aberto que torna o teste de penetração mais fácil para os testadores.
O que você aprenderá:
- O que é OWASP ZAP?
- Como funciona o ZAP?
- Autenticação ZAP, gerenciamento de sessão e usuário
- Amostra de relatório ZAP Html
- Conclusão
O que é OWASP ZAP?
O teste de penetração ajuda a encontrar vulnerabilidades antes que um invasor o faça. OSWAP ZAP é uma ferramenta gratuita de código aberto e é usada para realizar testes de penetração. O principal objetivo do Zap é permitir um teste de penetração fácil para encontrar as vulnerabilidades em aplicativos da web.
Vantagens do ZAP:
- Zap fornece plataforma cruzada, ou seja, funciona em todos os sistemas operacionais (Linux, Mac, Windows)
- Zap é reutilizável
- Pode gerar relatórios
- Ideal para iniciantes
- Ferramenta grátis
Como funciona o ZAP?
O ZAP cria um servidor proxy e faz com que o tráfego do site passe pelo servidor. O uso de scanners automáticos no ZAP ajuda a interceptar as vulnerabilidades do site.
Consulte este fluxograma para uma melhor compreensão:
.net c # perguntas da entrevista
Terminologias ZAP
Antes de definir a configuração do ZAP, vamos entender algumas terminologias do ZAP:
# 1) Sessão : Sessão significa simplesmente navegar pelo site para identificar a área de ataque. Para isso, qualquer navegador como o Mozilla Firefox pode ser usado alterando suas configurações de proxy. Ou então podemos salvar a sessão do zap como .session e pode ser reutilizada.
# 2) Contexto: Significa um aplicativo da web ou um conjunto de URLs juntos. O contexto criado no ZAP irá atacar aquele especificado e ignorar o resto, para evitar muitos dados.
# 3) Tipos de ataques ZAP: Você pode gerar um relatório de vulnerabilidade usando diferentes tipos de ataque ZAP acessando e examinando a URL.
Varredura ativa: Podemos realizar uma varredura ativa usando o Zap de várias maneiras. A primeira opção é a Começo rápido, que está presente na página de boas-vindas da ferramenta ZAP. Consulte a imagem abaixo:
Quick Start 1
A captura de tela acima mostra a maneira mais rápida de começar a usar o ZAP. Insira o URL na guia Início rápido, pressione o botão Ataque e o progresso é iniciado.
O Quick Start executa o spider no URL especificado e, em seguida, executa o scanner ativo. Um spider rasteja em todas as páginas, começando no URL especificado. Para ser mais preciso, a página de início rápido é como “apontar e disparar”.
Quick Start 2
Aqui, ao definir o URL de destino, o ataque começa. Você pode ver o status de progresso como spidering o URL para descobrir o conteúdo. Podemos parar o ataque manualmente se estiver demorando muito.
Outra opção para o Varredura ativa é que podemos acessar a URL no navegador proxy ZAP, pois o Zap irá detectá-la automaticamente. Ao clicar com o botão direito no URL -> A varredura ativa será iniciada. Assim que o rastreamento for concluído, a verificação ativa será iniciada.
O progresso do ataque será exibido na guia Verificação ativa. e a guia Spider mostrará o URL da lista com cenários de ataque. Assim que a verificação ativa for concluída, os resultados serão exibidos na guia Alertas.
Por favor, verifique a imagem abaixo de Varredura Ativa 1 e Varredura Ativa 2 para uma compreensão clara.
Varredura ativa 1
Varredura ativa 2
# 4) Aranha: Spider identifica o URL no site, verifique se há hiperlinks e adicione-o à lista.
# 5) Aranha Ajax: No caso em que nosso aplicativo faz uso intenso de JavaScript, vá para a aranha AJAX para explorar o aplicativo.Vou explicar o Aranha Ajax em detalhes no meu próximo tutorial.
# 6) Alertas : As vulnerabilidades do site são sinalizadas como alertas de alto, médio e baixo.
Instalação ZAP
Agora, vamos entender a configuração da instalação do ZAP. Primeiro, baixe o Zap install . Como estou usando o Windows 10, baixei o instalador de 64 bits do Windows.
Pré-requisitos para instalação do Zap: Java 7 é necessário. Se você não tem o java instalado em seu sistema, faça o download primeiro. Então podemos lançar o ZAP.
Configurar navegador ZAP
Primeiro, feche todas as sessões ativas do Firefox.
Abra a ferramenta Zap >> vá ao menu Ferramentas >> selecione opções >> selecione Proxy Local >> onde podemos ver o endereço como localhost (127.0.0.1) e a porta como 8080, podemos mudar para outra porta se já estiver usando, diga que estou mudando para 8099. Verifique a captura de tela abaixo:
Proxy local no Zap 1
Agora, abra o Mozilla Firefox >> selecione opções >> aba avançada >> em que selecione Rede >> Configurações de conexão >> selecione a opção Configuração manual do proxy. Use a mesma porta da ferramenta Zap. Mudei manualmente para 8099 no ZAP e usei o mesmo no navegador Firefox. Verifique abaixo a captura de tela da configuração do Firefox definida como um navegador proxy.
Configuração de proxy 1 do Firefox
Tente conectar seu aplicativo usando o navegador. Aqui, eu tentei conectar o Facebook e diz que sua conexão não é segura. Portanto, você precisa adicionar uma exceção e, em seguida, confirmar a Exceção de segurança para navegar para a página do Facebook. Consulte as imagens abaixo:
Acesse a página da web - navegador proxy 1
Acesse a página da web - navegador proxy 2
Acesse a página da web - navegador proxy 3
Ao mesmo tempo, na guia de sites do Zap, verifique a nova sessão criada para a página do Facebook. Quando você conectar seu aplicativo com sucesso, poderá ver mais linhas na guia de histórico do ZAP.
O Zap normalmente fornece funcionalidade adicional que pode ser acessada por menus do botão direito, como
Clique com o botão direito em >> HTML >> varredura ativa, o zap executará a varredura ativa e exibirá os resultados.
Se você não conseguir conectar seu aplicativo usando o navegador, verifique as configurações de proxy novamente. Você precisará verificar as configurações do navegador e do proxy ZAP.
Gerando relatórios em ZAP
Uma vez que a varredura ativa é feita, podemos gerar relatórios. Para isso, clique em OWASP ZAP >> Relatório >> gerar relatórios HTML >> caminho do arquivo fornecido >> relatório de varredura exportado. Precisamos examinar os relatórios para identificar todas as ameaças possíveis e corrigi-los.
Autenticação ZAP, gerenciamento de sessão e usuário
Vamos passar para outro recurso do Zap, lidando com autenticação, gerenciamento de sessão e usuário. Por favor, deixe-me saber qualquer dúvida que vier à sua mente relacionada a isso como comentários.
Conceitos Básicos
- Contexto : Representa um aplicativo da web ou um conjunto de URLs juntos. Para um determinado Contexto, novas guias são adicionadas para personalizar e configurar o processo de autenticação e gerenciamento de sessão. As opções estão disponíveis na caixa de diálogo de propriedades da sessão. Isto é, a caixa de diálogo de propriedades da sessão -> Contexto -> você pode usar a opção padrão ou adicionar um novo nome de contexto.
- Método de gerenciamento de sessão: Existem 2 tipos de métodos de gerenciamento de sessão. Principalmente, o gerenciamento de sessão baseado em cookie é usado, associado ao Contexto.
- Método de autenticação: Existem basicamente 3 tipos de método Auth usados pelo ZAP:
- Método de autenticação baseado em formulário
- Autenticação Manual
- Autenticação HTTP
- Gerenciamento de usuários: Uma vez que o esquema de autenticação tenha sido configurado, um conjunto de usuários pode ser definido para cada Contexto. Esses usuários são usados para várias ações ( Por exemplo, Spider URL / Context como usuário Y, enviar todas as solicitações como usuário X). Em breve, serão disponibilizadas mais ações que fazem uso dos usuários.
Uma extensão de “usuário forçado” é implementada para substituir a antiga extensão de autenticação que estava realizando a reautenticação. Um modo de 'usuário forçado' agora está disponível na barra de ferramentas (o mesmo ícone da antiga extensão de autenticação).
Depois de definir um usuário como ‘Usuário forçado’ para um determinado contexto ou quando está habilitado, cada solicitação enviada através do ZAP é automaticamente modificada para que seja enviada para este usuário. Este modo também executa a reautenticação automaticamente (especialmente em conjunto com a autenticação baseada em formulário) se houver falta de autenticação, 'desconectado' é detectado.
Vamos ver uma demonstração:
Passo 1:
Primeiro, inicie o ZAP e acesse a URL no navegador proxy. Aqui, peguei o URL de amostra como https://tmf-uat.iptquote.com/login.php . Clique em Avançado -> adicionar exceção -> confirme a exceção de segurança como na página 6 e 7. Em seguida, a página inicial é exibida. Ao mesmo tempo, o ZAP carrega automaticamente a página da Web em Sites como uma nova sessão. Consulte a imagem abaixo.
Passo 2:
Inclua-o em um contexto. Isso pode ser feito incluindo-o em um contexto padrão ou adicionando-o como um novo contexto. Consulte a imagem abaixo.
Etapa 3:
Agora, o próximo é o método de autenticação. Você pode ver a Autenticação na própria caixa de diálogo de propriedades da sessão. Aqui, estamos usando o método Auth baseado em formulário.
Deve ser como authMethodParams como ' login Url = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
Em nosso exemplo, precisamos definir o método de autenticação como baseado em formulário. Para isso, selecione o URL de destino, o campo de dados do post de solicitação de login é pré-preenchido, após isso, altere o parâmetro como nome de usuário e senha -> clique em ok .
Passo 4:
Agora, defina indicadores que dirão ao ZAP quando ele for autenticado.
Indicadores de login e logout:
- Apenas um é necessário
- Podemos definir padrões Regex combinados na mensagem de resposta, precisamos definir o indicador de login ou logout.
- Identifique quando uma resposta é autenticada ou não.
- Exemplo de indicador de login: Qhttp: // example / logout E ou Welcome User. *
- Exemplo do indicador desconectado: login.jsp ou algo parecido.
Aqui, em nosso aplicativo de demonstração, acessei a URL em um navegador proxy. Logado no aplicativo usando uma credencial válida, nome de usuário como superadmin e senha como primo868. Navegue pelas páginas internas e clique em logout
Você pode ver na captura de tela da Etapa 3, o Zap usa os dados da solicitação de login como aqueles usados para o login do aplicativo TMF (login do aplicativo demo).
Sinalizar registrado no padrão Regex da resposta do ZAP como resposta -> resposta desconectada -> sinalizar como registrado no indicador. Referir-se a imagem abaixo
Etapa 5:
Podemos salvar o indicador e verificar se a caixa de diálogo de propriedades da sessão é adicionada com o indicador de login ou não. Consulte a imagem abaixo:
Etapa 6:
Precisamos adicionar usuários, usuários válidos e inválidos. Aplique ataques de aranha para ambos e analise os resultados.
Usuário válido:
Usuário Inválido:
implementação de c ++ de tabela hash de encadeamento separada
Etapa 7:
Por padrão, defina o gerenciamento de sessão como um método baseado em cookies.
Etapa 8:
O ataque de Spider URL é aplicado a usuários inválidos e válidos e analisa os resultados / gera relatórios.
Usuário inválido, visualização 1 de ataque de spider:
Aqui, um ataque de spider URL é aplicado ao usuário inválido. Na interface ZAP, podemos ver Get: login.php (error _message), o que significa que a autenticação falhou. Além disso, ele não passa os URLs por meio de páginas TMF internas.
Etapa 9:
Para aplicar o ataque de URL de aranha para o usuário válido, vá para a lista de sites -> ataque -> URL de aranha -> usuário válido existente -> aqui está habilitado por padrão -> iniciar verificação.
Analisar os resultados: Como é um usuário autenticado válido, ele navegará por todas as páginas internas e exibirá o status de autenticação como bem-sucedido. Consulte a captura de tela abaixo.
Usuário válido
Amostra de relatório ZAP Html
Assim que uma varredura ativa for concluída, podemos gerar um relatório HTML para o mesmo. Para isso, selecione Relatório -> Gerar Relatório Html. Anexei um exemplo de conteúdo de relatórios HTML. Aqui, relatórios de alertas altos, médios e baixos serão gerados.
Alertas
Conclusão
Neste tutorial, vimos o que é ZAP, como ZAP funciona, instalação e configuração de proxy ZAP. Diferentes tipos de processos de varredura ativa, uma demonstração de autenticação ZAP, gerenciamento de sessão e usuário e terminologias básicas. No meu próximo tutorial, explicarei sobre o ataque de aranha do Ajax, uso de fuzzers e sites de navegação forçada.
E se você usou o proxy de ataque Zed e tem algumas dicas interessantes para compartilhar, compartilhe nos comentários abaixo.
Referências:
Leitura recomendada
- Tutorial de revisão prática da ferramenta de gerenciamento de teste PractiTest
- Análise da ferramenta de gerenciamento de teste TestLodge
- Tutorial TestComplete: Guia de uma ferramenta de teste de GUI abrangente para iniciantes
- Tutorial prático de revisão da ferramenta de rastreamento de bug do backlog
- Tutorial do Bugzilla: Tutorial prático da ferramenta de gerenciamento de defeitos
- Como testar o desempenho do site usando a ferramenta SmartMeter.io: tutorial de revisão prática
- Tutorial da ferramenta de teste de acessibilidade WAVE
- Revisão prática da ferramenta de gerenciamento de teste qTest