Linux下从ZAP启动的代理浏览器配置

ZAP 版本:2.16.0,使用 Firefox 作为代理浏览器。

解决 "The provided browser was not found.See https://www.zaproxy.org/faq/no-browser/" 问题。

在“快速开始-手动浏览“中可以启动使用 ZAP 代理的可浏览的浏览器,相当于 Burp Suite 中的“打开内嵌浏览器”功能。但是在 Linux 下,会报找不到浏览器的错误。其提示页面 See https://www.zaproxy.org/faq/no-browser/ 指出应更新 ZAP 和浏览器,并正确配置位置:

If that does not solve your problem then check that your browser is on your path - if it is not then ZAP may not be able to find it.

如果这不能解决您的问题,请检查您的浏览器是否在您的路径上 - 如果没有,则 ZAP 可能无法找到它。

You can configure the locations of both Chrome and Firefox via the Selenium Options screen.

您可以通过 Selenium 选项屏幕配置 Chrome 和 Firefox 的位置。

然而,使用 aptsnap 安装的浏览器仍无法正确配置(对应路径为 /usr/bin/firefox/snap/bin/firefox),需要按照官网方法安装。

先给出所有的命令,可以直接复制粘贴执行:

1
2
3
4
5
6
7
8
9
10
11
12
sudo apt remove firefox
sudo snap remove firefox
sudo install -d -m 0755 /etc/apt/keyrings
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3") print "\nThe key fingerprint matches ("$0").\n"; else print "\nVerification failed: the fingerprint ("$0") does not match the expected one.\n"}'
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla
sudo apt-get update && sudo apt-get install firefox

对应的步骤如下:

  1. 先删除已有的 Firefox:
    1
    2
    sudo apt remove firefox
    sudo snap remove firefox
    此时,firefox 命令应该无法使用。
  2. 创建一个保存 APT 库密钥的目录:
    1
    sudo install -d -m 0755 /etc/apt/keyrings
  3. 导入 Mozilla APT 密钥环:
    1
    wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
    如果没有安装 wget,请通过命令 sudo apt-get install wget 安装。
  4. 密钥指纹应该是 35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3。你可以用以下命令检查:
    1
    gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3") print "\nThe key fingerprint matches ("$0").\n"; else print "\nVerification failed: the fingerprint ("$0") does not match the expected one.\n"}'
  5. 把 Mozilla APT 库添加到源列表中:
    1
    echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
  6. 配置 APT 优先使用 Mozilla 库中的包:
    1
    2
    3
    4
    5
    echo '
    Package: *
    Pin: origin packages.mozilla.org
    Pin-Priority: 1000
    ' | sudo tee /etc/apt/preferences.d/mozilla
  7. 更新软件列表并安装 Firefox .deb 包:
    1
    sudo apt-get update && sudo apt-get install firefox

此时在"选项-Selenium"中配置 Firefox 的路径为 /usr/bin/firefox 即可。

完成效果