【问题标题】:Facing issue with ZAP integration in Node JSNode JS 中的 ZAP 集成面临问题
【发布时间】:2021-09-30 14:23:57
【问题描述】:

我是 ZAP 和 node.js 的新手
我的目标是扫描任何 web 应用程序中的漏洞并生成报告 (JSON)。

我尝试了下面的代码,它给了我错误

const ZapClient = require('zaproxy');
 
const zapOptions = {
  apiKey: 'myAPIKEY'
  proxy: 'http://localhost:8095',
};
 
const zaproxy = new ZapClient(zapOptions);

let target = 'http://localhost:3000/#/app/my-app'

let promiseObj = zaproxy.ascan.scan(target);
    promiseObj
        .then(resp => {
            console.log(JSON.stringify(resp))
        })
        .catch(error =>{
            console.log(error)
        })

 let promiseObj = zaproxy.core.alerts(target);
     promiseObj
         .then(resp => {
             console.log(JSON.stringify(resp))
         })
         .catch(error =>{
             console.log(error)
         })

我面临的错误:

StatusCodeError: 404 - "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>
Error</title>\n</head>\n<body>\n<pre>
Cannot GET /JSON/ascan/action/scan/</pre>\n</body>\n</html>\n"

另外,我将非常感谢:

  1. 谁能分享任何与 node.js 相关的 Zap 示例
  2. 是否有必要在我运行上述示例时保持 ZAP 工具打开和运行。

【问题讨论】:

    标签: node.js zap zapproxy


    【解决方案1】:

    是的,您需要运行 ZAP 才能使用 API 与其通信。 看起来你没有这样做:(

    【讨论】:

    • 感谢您的回答。将 ZAP 与 Jenkins 集成时是否也必须运行 ZAP?
    • 我必须承认我对这一系列问题感到困惑:/ 是的,您确实需要运行程序(包括 ZAP)才能使用它们 :) 我们已经记录了多种自动化 ZAP 的方法这里:zaproxy.org/docs/automate
    • 对不起@Simon 的困惑,所以,让我举个例子:在任何节点js应用程序上工作时,如果我们需要引导依赖,我们NPM安装它并为我们的目的使用它的库,同样对于 ZAP,我们 NPM 安装它,但似乎我们还需要运行桌面 ZAP 应用程序。我期待一个像依赖一样的引导程序。我希望这很清楚:)
    • 啊,好吧 :) 不,NPM 上的 ZAP 库仅用于 ZAP API - 只有当它可以连接到正在运行的 ZAP 实例时才能工作。 ZAP 是用 Java 实现的,是一个相当大的项目。我们不会尝试用 Java Script 或任何其他语言重写它:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2017-01-21
    相关资源
    最近更新 更多