当前位置: 首页 > 面试题库 >

如何使用与Jenkins集成的Python API脚本为zap(Owasp)创建HTML报告

邹华皓
2023-03-14
问题内容

我使用Python API触发了zap,如下所示:

脚本来源:

https://github.com/zaproxy/zaproxy/wiki/ApiPython

我想要通过命令行生成的HTML报告。

我正在尝试将其与詹金斯集成。我在Jenkins中发现了很少的Owasp插件,但似乎没有按预期工作。

任何想法,链接,教程都会对我有帮助。


问题答案:

用户可以通过此URL / API(http:// ZAP-IP:PORT / UI / core / other / htmlreport
/
)获取报告。

我没有找到任何zap支持插件,所以我写了selenium webdriver Java脚本来完成任务。代码是:-

    @Test
    public void Report() {
            System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"\\src\\lib\\chromedriver.exe");
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.addArguments("--start-maximized");
            WebDriver driver = new ChromeDriver(chromeOptions);
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            driver.get("http://localhost:8080/UI/core/other/htmlreport");
            driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
            driver.findElement(By.id("apikey")).sendKeys("ChangeMe");
            driver.findElement(By.id("button")).click();

            SimpleDateFormat dateFormatForFoldername = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
            Date currentDate = new Date();
            String folderDateFormat = dateFormatForFoldername.format(currentDate);
        try {
            URL oracle = new URL(driver.getCurrentUrl());
            BufferedReader in = new BufferedReader(
            new InputStreamReader(oracle.openStream()));
            BufferedWriter writer = new BufferedWriter(new FileWriter("Reports"+File.separator+"OwaspReport-"+folderDateFormat+".html"));

            String inputLine;
            while ((inputLine = in.readLine()) != null){
                try{
                    writer.write(inputLine);
                }
                catch(IOException e){
                    e.printStackTrace();
                    return;
                }
            }
            in.close();
            writer.close();
            driver.quit();
        }
        catch(Exception ex) {
            System.out.println(ex.getMessage());
            ex.printStackTrace();
        }   
    }

注意:-根据您的zap端口更改URL中的端口并替换apiKey

希望它能对您有所帮助:)



 类似资料:
  • 我们目前正在为我们的团队开发持续交付管道实施。我们的方法是从Jenkins推送可部署到Nexus,然后使用Automic从Nexus拉取以部署到我们的目标环境。这的主要原因是目前自动部署是自动化的和到位的。我们只想重用现有的部署过程,并将其与我们正在编写的新CD Pipeline脚本集成。 我们面临的挑战是詹金斯的反向握手- 我们目前的做法 > JenkinsPipeline Script使用一个

  • 我有多个jmeter脚本,如Test1.jmx,Test2.jmx,Test3.jmx,这些脚本应该按顺序运行,并需要作为HTML报告的结果文件。我通过bat按顺序执行,但是报告是单独生成的(3个报告),我需要一个HTML报告文件来完成整个执行。

  • 我在Jenkins创建了一个Freestyle项目,安装了ZAP插件来查找我们托管web应用程序中的安全漏洞。作业已配置为遵循以下步骤, https://dev.to/gwllmnn/automatic-security-tests-in-jenkins-with-owasp-zap-2f6b 作业已正确构建,作业成功,但生成的测试报告为空。在导航测试报告时发生了这样的错误, 能否请您对此提供一个

  • 我需要重载jenkins函数来调试IDE中的管道脚本。 我是java/groovy等的新手。我将编写几百行脚本化管道。Groovy是基于java的。由于我是新手,我更喜欢函数名完成/建议和调试功能,在这里我可以一步一步地浏览这些行并查看vars中的内容。 我用groovy插件设置了一个EclipseLuna。这实际上是有效的=)!(对于最新的eclipse,插件还没有准备好)。调试也很酷! 但是特

  • 问题内容: 有人知道将soapUI测试添加到我的CI版本的好方法吗? 问题答案: soapUI通过Maven或Ant提供测试自动化。在这里描述了Maven集成。 我在一个月前尝试过,但是在eviware存储库中遇到了一些奇怪的问题…因此,我现在通过Ant运行测试。您要做的是在soapUI bin目录中调用(或)脚本。您可以在此处找到可用的参数。 您必须在Hudson构建服务器上安装soapUI。然

  • 问题内容: 我想使用Jenkins 2.x Groovy Script Build Pipeline开始Sonar项目分析。 我在Maven中配置了声纳,所以没什么大不了的: 但是我如何从声纳获得结果呢?甚至更好的是,我如何确定是否达到了质量要求,以便停止构建管道。 据我所知,自从某些声纳版本以来,构建破坏者的概念就已过时。或您将如何处理。 我仍然认为,如果项目的基础代码太糟糕,则停止/暂停构建管