2024年4月2日,本仓库被标记为"即将归档",并于2024年5月13日正式归档,不再维护。
本项目初衷是为OWASP ZAP添加身份验证扫描功能(及Blind XSS payloads),但目前ZAP已原生支持这些功能。此外,ZAP正全面迁移至Automation Framework,改变了扫描执行方式。
如仍在流水线中使用zap2docker-weekly,建议规划迁移。推荐使用最新版ZAP的Automation Framework创建自动化计划,并在手动和CI/CD流水线中测试使用。迁移步骤如下:
如需帮助,可通过下方"联系我们"方式获取支持,包括ZAP桌面应用的简短演示。
短期内可能无明显影响,但需注意:zap2docker-weekly的基础镜像自2024年3月起不再维护,因此生成的报告可能不准确,且可能错过ZAP功能及漏洞扫描方式的更新。原镜像也可能被移除导致流水线中断,因此不建议跳过迁移。
以下为归档前的README内容,仅供参考。
本项目为OWASP ZAP Docker 扫描脚本添加身份验证扫描支持,主要功能包括:
镜像地址:https://hub.docker.com/r/ictu/zap2docker-weekly
bashdocker run --rm --memory=8gb -v $(pwd):/zap/wrk/:rw -t ictu/zap2docker-weekly zap-full-scan.py -I -j -m 10 -T 60 \ -t https://demo.website.net \ -r testreport.html
bashdocker run --rm -v $(pwd):/zap/wrk/:rw -t ictu/zap2docker-weekly zap-baseline.py -I -j \ -t https://demo.website.net \ -r testreport.html \ --hook=/zap/auth_hook.py \ -z "auth.loginurl=https://demo.website.net/login/index.php \ auth.username="admin" \ auth.password="sandbox""
bash# 先获取令牌(如通过Curl),再传递给ZAP docker run --rm -v $(pwd):/zap/wrk/:rw -t ictu/zap2docker-weekly zap-api-scan.py -I \ -t https://demo.website.net/api/docs/openapidocs.json \ -f openapi \ -r testreport.html \ --hook=/zap/auth_hook.py \ -z "auth.bearer_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
bashdocker run --rm -v $(pwd):/zap/wrk/:rw -t ictu/zap2docker-weekly zap-full-scan.py -I -j -m 10 -T 60 \ -t https://demo.website.net \ -r testreport.html \ --hook=/zap/auth_hook.py \ -z "auth.loginurl=https://demo.website.net/login/index.php \ auth.username="admin" \ auth.password="sandbox" \ auth.username_field="j_username" \ auth.password_field="j_password" \ auth.submit_field="submit" \ auth.exclude=".*logout.*,http://url.com/somepath.*" \ auth.include="https://api.website.net.*"
说明:排除和包含URL为逗号分隔的正则表达式,例如:.*logout.*,http://url.com/logout.*
参数说明:
-j:启用AJAX爬虫(补充默认爬虫)-m 60:限制爬虫时间为60分钟-T 60:限制扫描时间为60分钟-I:发现问题时不返回错误退出码更多扫描类型和参数说明:ZAP Docker文档
| 参数 | 说明 |
|---|---|
| auth.loginurl | 登录页面URL(必填) |
| auth.username | 有效用户名(必填) |
| auth.password | 有效密码(必填) |
| auth.otpsecret | OTP密钥 |
| auth.bearer_token | 用于所有请求Authorization头的Bearer令牌 |
| auth.username_field | 用户名输入框的HTML name或id属性 |
| auth.password_field | 密码输入框的HTML name或id属性 |
| auth.submit_field | 提交按钮的HTML name或id属性 |
| auth.otp_field | OTP输入框的HTML name或id属性 |
| auth.first_submit_field | 第一步提交按钮的HTML name或id属性(适用于用户名→下一步→密码→提交流程) |
| auth.submitaction | "Click"或"Submit",指定点击按钮或提交表单 |
| auth.display | True/False,是否以Headless模式运行webdriver |
| auth.exclude | 排除URL列表(逗号分隔正则,默认:(logout |
| auth.include | 包含URL列表(逗号分隔正则,默认:仅目标URL及其子路径) |
| auth.check_delay | 提交表单后等待时间 |
| auth.check_element | 验证登录完成的目标元素 |
| auth.api_key | 请求中使用的API密钥 |
本钩子支持注入Blind XSS payloads,需提供XSS payload触发的回调URL。钩子会自动在输入字段、头和Cookie等所有可能位置注入payload(感谢@greckko)。
以下示例使用XSSHunter作为回调:
bashdocker run --rm -v $(pwd):/zap/wrk/:rw -t ictu/zap2docker-weekly zap-full-scan.py -I -j -m 10 -T 60 \ -t https://demo.website.net \ -r testreport.html \ --hook=/zap/auth_hook.py \ -z "xss.collector=xsshunter.xss.ht"
本仓库联系人:https://github.com/orgs/ICTU/teams/security%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87https://github.com/ICTU/zap2docker-auth-weekly/issues/new%E8%81%94%E7%B3%BB%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务