Ubuntu中Firefox转为Snap后,如何借助Chrome/Firefox成功运行OWASP ZAP
在Ubuntu上解决OWASP ZAP与Snap版Firefox、Chrome/Chromium的兼容问题
修复Snap版Firefox与ZAP的配合问题
Snap的沙箱隔离会阻断ZAP代理与Firefox的默认交互,需要手动配置代理和证书:
- 配置代理:
- 打开Firefox,在地址栏输入
about:preferences#general - 滚动到「网络设置」区域,点击「设置」按钮
- 选择「手动配置代理」,填写HTTP代理为
127.0.0.1,端口填ZAP默认的8080(如果修改过ZAP端口就用对应值) - 勾选「为所有协议使用相同代理服务器」,点击「确定」保存
- 打开Firefox,在地址栏输入
- 导入ZAP根证书:
- 在ZAP中依次点击
Tools→Options→Dynamic SSL Certificates,点击「Save」将证书保存到本地(比如~/Downloads/zap-root-ca.cer) - 打开Firefox的
about:preferences#privacy,滚动到「证书」部分,点击「查看证书」 - 切换到「证书机构」标签,点击「导入」,选中刚才保存的ZAP证书,勾选「信任由此证书机构标识的网站」,完成导入
- 在ZAP中依次点击
修复Chrome/Chromium与ZAP的配合问题
原生Debian/Ubuntu包版本
- 导入证书:
- 打开浏览器,进入「设置」→「隐私和安全」→「安全」→「管理证书」
- 切换到「受信任的根证书颁发机构」标签,导入ZAP导出的根证书
- 配置代理:
- 进入「设置」→「系统」→「打开您计算机的代理设置」,在Ubuntu网络设置中手动配置HTTP/HTTPS代理为
127.0.0.1:8080 - 或者直接用启动参数指定:
chromium --proxy-server=http://127.0.0.1:8080
- 进入「设置」→「系统」→「打开您计算机的代理设置」,在Ubuntu网络设置中手动配置HTTP/HTTPS代理为
Snap包版本
Snap的隔离机制导致证书存储路径特殊,需要用命令导入:
- 导入证书:
# 假设证书已保存到~/Downloads/zap-root-ca.cer sudo cp ~/Downloads/zap-root-ca.cer /var/snap/chromium/current/.pki/nssdb/ sudo chown root:root /var/snap/chromium/current/.pki/nssdb/zap-root-ca.cer certutil -d sql:/var/snap/chromium/current/.pki/nssdb -A -t "C,," -n "ZAP Root CA" -i ~/Downloads/zap-root-ca.cer - 配置代理:
可以通过Ubuntu系统代理设置,或者用Snap启动命令指定:snap run chromium --proxy-server=http://127.0.0.1:8080
验证配置
- 启动ZAP,确认本地代理服务在
127.0.0.1:8080运行(可通过Tools→Options→Local Proxies查看) - 打开对应浏览器访问任意HTTPS网站,ZAP应能捕获到请求,且浏览器无证书错误提示
内容的提问来源于stack exchange,提问作者MagMax
相关产品推荐
相关产品推荐

