ZAP
Ferramenta de busca | Web |
Mobile |
Local |
API |
Extension |
Serverless |
Instruções |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
Use o OWASP ZAP ; o contêiner do ZAP Docker para fazer verificações dinâmicas automatizadas (DAST) no seu aplicativo. Os arquivos de configuração predefinidos já têm todos os CWEs necessários incluídos. Você só precisa adicioná-lo ao ambiente e ao comando de execução do Docker. |
Para ver a definição de cada tipo,
clique aqui
Uma verificação completa de aplicativos da Web, de dispositivos móveis ou internos pode ser realizada seguindo as etapas abaixo:
-
As verificações do DAST e da API serão executadas usando a imagem do Docker do ZAP. Para aplicativos da Web, móveis ou internos, a verificação completa do ZAP precisa ser executada em um ambiente de produção ou preparo.
-
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 executar a verificação. Veja mais detalhes nas instruções de Autenticação abaixo.
-
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)
Uma verificação de API pode ser realizada 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 comando a seguir
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 anexado aqui: zap-results-api.xml )
Autenticação
As verificações de ZAP precisam ser feitas com autenticação para entender onde os dados do usuário são armazenados e acessados. Isso requer configuração antes de executar as verificações. A imagem do Docker do ZAP permite dois argumentos relacionados à autenticação:
-n contexto_arquivo |
Arquivo de contexto que será carregado antes da verificação do destino |
- Usuário da U |
Nome de usuário a ser usado nas verificações autenticadas. O usuário precisa ser definido no arquivo de contexto. |
Para definir esses parâmetros, é necessário criar um arquivo de contexto. Isso é feito mais facilmente usando a IU do computador ZAP.
-
Defina o mecanismo de autenticação. No momento, o ZAP é compatível com cinco abordagens de autenticação:
-
Autenticação manual
-
Autenticação com base em formulários
-
Autenticação HTTP/NTLM
-
Autenticação baseada em script
-
Autenticação com base em JSON
-
- Defina seus 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 dos métodos de autenticação usados.
- Adicione um usuário e uma senha válidos. Crie vários usuários se o aplicativo expor diferentes funcionalidades com base nos papéis.
Depois de definir essas configurações, você pode exportar o contexto como um arquivo para referência da verificação.
Salve o contexto em um local fácil de referência, porque precisará incluir o caminho do arquivo como um argumento para o comando "scan". Agora é possível 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