OWASP ZAP docker的Selenium脚本执行扫描



我知道有一个方法是用"https://dzone.com/articles/automate-zap-security-tests-with-selenium-webdrive-1">

但是有没有直接的命令可以通过OWASP ZAP扫描硒应用程序的执行?。

  1. 在后台运行代理OWASP ZAP
  2. 执行我们的独立selenium脚本以便执行。(尤其是登录(
  3. Spidering(如果可能的话(,否则收集报告

我认为这应该是可能的,然后一个完整的项目。很少有网站可以公开或不登录。

您可以使用docker。

  1. 安装或提取docker映像-

    " docker pull owasp/zap2docker-stable "
    
  2. 您可以使用以下命令在无头模式下启动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 "
    
  3. 独立运行硒测试,但在硒测试中,将代理配置为访问8080端口(或您正在使用的端口(。

  4. 以下命令将在容器中生成报告-

    " 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的ifconfigipconfig(,以允许代理工作。

报告
这可以通过前面的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=&sections=&includedConfidences=&includedRisks=&reportFileName=my-report&reportFileNamePattern=&reportDir=&display=

通过运行将此文件复制到本地计算机

docker cp your_docker_image_number:/home/zap/my-report.html ./my-report.html

打开报告文件并享受:D

最新更新