zap主动扫描任务被保存会话任务中断

时间:2017-05-03 09:49:26

标签: selenium ant owasp zapproxy

我正在尝试将zap任务自动化到我的构建过程中。这是我的工作:

  • run zap
  • 运行硒测试
  • 运行zap spider
  • 运行zap activeScan
  • 保存zap会话
  • 运行zap alert check并报告
  • end zap

这是我的ant build.xml的目标:

    <SpiderURL zapAddress="${zapaddr}" zapPort="${zapport}" url="${targetHost}" debug="true"/>
    <sleep seconds="5"/>        
    <ActiveScanSite zapAddress="${zapaddr}" zapPort="${zapport}" url="${targetHost}" debug="true"/>
    <sleep seconds="5"/>        

    <tstamp>
        <format property="timestamp" pattern="MM-dd-yyyy HH-mm-ss"/>
    </tstamp>

    <SaveZAPSession zapAddress="${zapaddr}" zapPort="${zapport}" name="${user.dir}/test ${timestamp}" debug="true"/>    

    <record name="Report.txt" action="start" append="true" />
    <alertCheckTask zapAddress="${zapaddr}" zapPort="${zapport}" debug="false">
        <ignoreAlert risk="Low" />
        <ignoreAlert risk="Medium" />
        <requirealert alert="Cross Site Scripting (Reflected)" />
    </alertCheckTask>
    <record name="Report.txt" action="stop" />

问题是:主动扫描未完成,并且被下一个任务中断(保存zap会话),这意味着报告的警报也未覆盖所有活动扫描结果。

1 个答案:

答案 0 :(得分:0)

在执行任何其他操作之前先保存会话。 ZAP会话是一个数据库,一旦它被保存(或者更确切地说是“现在在UI中引用的”),那么任何更改也会自动保存。如果稍后保存/持久化ZAP会话,那么实际上只是将临时数据库复制到新的一次,这是非常低效的。这就是为什么当您打开ZAP UI时我们会提示您保持会话。

说了这么多,我实际上建议直接使用ZAP Java客户端库,因为它提供了对ZAP的更多控制。 Ant任务非常有限。我们真的一直在更新它们,部分原因是因为我们不知道是否有人使用它们!如果您仍打算使用它们,请告诉我 - 我怀疑它们可能需要进行一些调整:)