You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用OWASP Zap完成身份登录后执行扫描操作

OWASP ZAP 带身份认证的自动扫描操作指南

针对需要登录后才能扫描的站点,已有合法账号凭据的场景,两种常用实现方式如下:

一、一键自动扫描(GUI 界面操作)

  • 打开 ZAP 工具,输入目标站点 URL,选择 自动化扫描 模式
  • 在左侧站点树右键点击目标域名,选择「新建上下文」,将目标站点所有路径纳入上下文范围
  • 进入上下文配置面板,切换到「用户」板块,新增用户并填入合法的账号、密码凭据
  • 切换到「会话管理」板块,根据目标站点的认证类型选择对应配置:表单认证、HTTP 基础认证、JSON API 认证等,填写登录请求提交地址、账号密码对应的请求参数名、登录成功的校验特征(例如响应包含「退出」关键字、响应头携带指定 Cookie)
  • 右键点击配置完成的用户,选择「强制用户登录」
  • 回到自动化扫描配置页,勾选「基于已配置上下文爬取」选项,点击启动即可自动完成登录后爬取+全量漏洞扫描

注意:登录状态校验特征需要提前抓包确认准确性,否则会出现 ZAP 无法识别登录状态的问题

二、命令行全扫描实现

使用 ZAP 官方提供的全量扫描脚本,通过传参注入身份认证配置即可实现无GUI的自动登录扫描,示例命令如下:

zap-full-scan.py \
  -t https://你的目标站点域名.com \
  -z "-config context.contextName=自定义上下文名称 \
  -config context.includes=https://你的目标站点域名.com.* \
  -config users.usersList=扫描用账号 \
  -config users.扫描用账号.username=你的合法账号 \
  -config users.扫描用账号.password=你的合法密码 \
  -config formBasedAuthentication.enabled=true \
  -config formBasedAuthentication.loginUrl=https://你的目标站点域名.com/login \
  -config formBasedAuthentication.loginRequestData=username={%username%}&password={%password%} \
  -config formBasedAuthentication.loggedInIndicator=.*退出.* \
  -config formBasedAuthentication.loggedOutIndicator=.*登录.*" \
  -r 扫描报告输出路径.html
  • 命令中-z后紧跟的是传递给 ZAP 内核的配置参数,可根据目标站点的实际认证类型做对应替换
  • 若目标站点为JWT类API认证,可在-z的配置项中新增如下参数实现认证头自动注入:
    -config replacer.full_list.0.enabled=true \
    -config replacer.full_list.0.matchtype=REQ_HEADER \
    -config replacer.full_list.0.matchstring=Authorization \
    -config replacer.full_list.0.replacement=Bearer 你的合法JWT令牌
    

内容的提问来源于stack exchange,提问作者Mate Mrše

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:57:03