尝试扫描时 OWASP/ZAP 悬空

Posted

技术标签:

【中文标题】尝试扫描时 OWASP/ZAP 悬空【英文标题】:OWASP/ZAP dangling when trying to scan 【发布时间】:2019-07-08 14:13:19 【问题描述】:

我正在尝试 OWASP/ZAP,看看它是否可以用于我们的项目,但我无法让它工作我不知道我做错了什么,文档真的没有帮助。我正在尝试对我的 api 运行扫描,该 api 在我的 windows 机器上本地的 docker 容器中运行,所以我运行命令: docker run -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-baseline.py -t http://172.21.0.2:8080/swagger.json -g gen.conf -r testreport.html ip 172.21.0.2 是我的 api 容器的 IP 地址,即使尝试使用 localhost127.0.0.1

但它只是挂在以下日志消息中:

_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
Feb 14, 2019 1:43:31 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.

什么都没有发生,我的 zap docker 容器处于不健康状态,一段时间后它只是崩溃并以一堆 NullPointerExceptions 告终。 zap docker 是否仅适用于 linux,在 Windows 机器上运行它时我需要做些什么?即使我特别遵循https://github.com/zaproxy/zaproxy/wiki/Docker 中的指南,我也不明白为什么这不起作用

编辑 1 我最近尝试直接针对我的主机 IP 地址和我公开我的 api 的端口给了我以下错误:

_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
Feb 14, 2019 2:12:07 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Total of 3 URLs
ERROR Permission denied
2019-02-14 14:12:57,116 I/O error(13): Permission denied
Traceback (most recent call last):
  File "/zap/zap-baseline.py", line 347, in main
    with open(base_dir + generate, 'w') as f:
IOError: [Errno 13] Permission denied: '/zap/wrk/gen.conf'
Found Java version 1.8.0_151
Available memory: 3928 MB
Setting jvm heap size: -Xmx982m
213 [main] INFO org.zaproxy.zap.DaemonBootstrap

【问题讨论】:

【参考方案1】:

当你运行 docker 时: docker run -v $(pwd):/zap/wrk/:rw ... 您正在将 docker 映像中的 /zap/wrk/ 目录映射到正在运行 docker 的机器的当前工作目录 (cwd)。

我认为问题在于您当前的用户没有 cwd 的写入权限。

试试下面的命令,希望能解决问题。

$docker run --user $(id -u):$(id -g) -v $(pwd):/zap/wrk/:rw --rm -t owasp/zap2docker-stable zap-baseline。 py -t https://your_url -g gen.conf -r testreport.html

【讨论】:

【参考方案2】:

这里的关键错误是:

IOError: [Errno 13] Permission denied: '/zap/wrk/gen.conf'

这意味着脚本无法写入您挂载在 /zap/wrk 上的 gen.conf 文件

当 cwd 没有挂载时,你有写权限吗?

【讨论】:

是的,我知道这一点,但谢谢。我在 Windows 上使用 cygwin,所以我只需要弄清楚如何为 docker 容器启用对我的 pwd 的写访问权限,但这可能更像是一个特定的docker for windows 问题,我在安装卷之前遇到了一些其他问题在 Windows 中,无论如何,很抱歉浪费您的时间。 没关系,别怕顶个问题:)

以上是关于尝试扫描时 OWASP/ZAP 悬空的主要内容,如果未能解决你的问题,请参考以下文章

OWASP ZAP:持续集成中的主动扫描器

OWASP ZAP - 扫描 url 列表

owasp zap手动扫描---chrome浏览器闪退

Owasp zap 工具 - 如何获取通过和失败测试的列表?

红队工具推荐——OWASP ZAP

Owasp ZAP工具 - 如何获取通过的测试列表