ZAP
Ferramenta de verificação | Web |
Mobile |
Local |
API |
Extension |
Serverless |
Instruções |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
Use o OWASP ZAP ; contêiner do ZAP para Docker para realizar verificações dinâmicas automatizadas (DAST, na sigla em inglês) no seu aplicativo. Os arquivos de configuração predefinidos já incluem todos os CWEs necessários. Basta adicioná-lo ao ambiente e ao comando de execução do Docker. |
Para a definição de cada tipo,
clique aqui
É possível realizar uma verificação completa em aplicativos da Web, para dispositivos móveis ou internos seguindo as etapas abaixo:
-
As verificações de DAST e API serão executadas usando a imagem Docker do ZAP. Para aplicativos da Web, móveis ou internos, o ZAP completo precisa ser executado em um ambiente de produção-1 ou de preparação.
-
Faça o download do arquivo de configuração zap-casa-config.conf e navegue até o diretório.
-
Gere um arquivo de contexto para a verificação ser executada. Veja as instruções de Autenticação abaixo para mais detalhes.
-
Execute este comando:
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t https://example.com -P 8080 -c zap-casa-config.conf -x results-full.xml -n example.context -U username
-
A saída será salva em um arquivo XML (exemplo anexado aqui: zap-results-full.xml).
É possível realizar uma verificação de API seguindo as etapas abaixo:
-
Para verificações de API, use o arquivo de configuração zap-casa-api-config.conf.
-
Navegue até o diretório e execute o seguinte comando
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-api-scan.py -t https://example.com -f openapi-P 8080 -c zap-casa-api-config.conf -x results-full.xml
-
A saída será salva em um arquivo XML (exemplo em anexo: zap-results-api.xml )
Autenticação
As verificações do ZAP precisam ser realizadas com autenticação para entender onde os dados do usuário são armazenados e acessados. Isso requer configuração antes da execução das verificações. A imagem do Docker do ZAP permite dois argumentos relacionados à autenticação:
-n context_file |
Arquivo de contexto que será carregado antes da verificação do destino |
-U user |
Nome de usuário a ser usado para verificações autenticadas. O usuário precisa ser definido no arquivo de contexto fornecido. |
Para definir esses parâmetros, é necessário criar um arquivo de contexto. Isso é mais fácil de fazer pela interface da ZAP para computador.
-
Defina o mecanismo de autenticação. Atualmente, o ZAP oferece suporte a cinco abordagens de autenticação:
-
Autenticação manual
-
Autenticação baseada em formulário
-
Autenticação HTTP/NTLM
-
Autenticação baseada em script
-
Autenticação baseada em JSON
-
- Defina os parâmetros de autenticação. Isso geralmente inclui o URL de login e o formato de payload (nome de usuário e senha). Os parâmetros obrigatórios são específicos para os métodos de autenticação usados.
- Adicione um usuário e uma senha válidos. Crie vários usuários se o aplicativo expor funcionalidades diferentes com base nos papéis.
Depois de configurar essas configurações, você pode exportar o contexto como um arquivo para referência da verificação.
Salve o contexto em um local de fácil acesso, porque você vai precisar incluir o caminho do arquivo como um argumento para o comando de verificação. Agora, você poderá executar uma verificação autenticada com o login do usuário especificado no contexto. Exemplo:
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t https://example.com -P 8080 -c zap-casa-config.conf -x results-full.xml -n /Users/DemoUser/Documents/Context.context -U test@example.com