我知道有一个方法是用"https://dzone.com/articles/automate-zap-security-tests-with-selenium-webdrive-1">
但是有没有直接的命令可以通过OWASP ZAP扫描硒应用程序的执行?。
- 在后台运行代理OWASP ZAP
- 执行我们的独立selenium脚本以便执行。(尤其是登录(
- Spidering(如果可能的话(,否则收集报告
我认为这应该是可能的,然后一个完整的项目。很少有网站可以公开或不登录。
您可以使用docker。
-
安装或提取docker映像-
" docker pull owasp/zap2docker-stable "
-
您可以使用以下命令在无头模式下启动ZAP-
" docker run -u zap -p 8080:8080 -i owasp/zap2docker-stable zap.sh -daemon -host 0.0.0.0 -port 8080 -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true -config api.disablekey=true "
-
独立运行硒测试,但在硒测试中,将代理配置为访问8080端口(或您正在使用的端口(。
-
以下命令将在容器中生成报告-
" docker exec $container_Id zap-cli report -o vulnerability.html -f HTML "
您可以在任何地方复制此报告。然后停止容器并将其取出。
@roop karu答案https://stackoverflow.com/a/63588382/1266040直到第3步和第4步
所以在安装Docker、下载镜像并运行ZAP:之后
docker pull owasp/zap2docker-stable
docker run -u zap -p 8080:8080 -i owasp/zap2docker-stable zap.sh -daemon -host 0.0.0.0 -port 8080 -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true -config api.disablekey=true
代理
然后可以将代理添加到Selenium或Playwright测试中。有时你需要在你的本地i.p.地址上运行测试过的应用程序,比如192.168.0.125(你会发现它在运行适用于Windows的ifconfig
或ipconfig
(,以允许代理工作。
报告
这可以通过前面的ZAP GUI报告部分来实现
http://127.0.0.1:8080/UI/reports/.
您可以检查模板并选择所需的模板
http://127.0.0.1:8080/HTML/reports/view/templates/?
最终从UI生成报告或只使用此地址(报告名称为我的报告(
http://127.0.0.1:8080/JSON/reports/action/generate/?title=My%2C+Report%2CName%29&template=traditional-html&theme=&description=&contexts=&sites=§ions=&includedConfidences=&includedRisks=&reportFileName=my-report&reportFileNamePattern=&reportDir=&display=
通过运行将此文件复制到本地计算机
docker cp your_docker_image_number:/home/zap/my-report.html ./my-report.html
打开报告文件并享受:D