打造更安静的Firefox:减少自动HTTP请求的技术指南

本文详细介绍了如何通过修改Firefox配置和about:config设置,减少浏览器自动发送的HTTP请求,提升渗透测试效率,包括禁用检测门户、心跳调查等功能,并提供自动化配置脚本。

打造更安静的Firefox

Brian King //

在最近的一次Web应用测试中,我对Firefox自行发起的额外HTTP请求感到有些沮丧,这些请求出现在我的Burpsuite代理历史中。我不得不比以往更多地滚动页面来理解流量。最后一根稻草是那个似乎每60秒出现一次的“detectportal”东西。

我发现其他Firefox用户也在抱怨同样的问题,并遵循了他们的步骤,但这些步骤并未涵盖所有内容。我将向您展示我学到的关于让Firefox更安静的知识,并为您提供一个文件,您可以在设置新安装时自动处理所有这些内容。

我设置了一个全新的Firefox版本53.0安装,没有插件或附加组件,并告诉它通过Burp Suite连接。我添加了Burp CA证书,这样Firefox就不会抱怨Burp生成的证书,并且我仍然可以使用HSTS连接到网站。

让浏览器静置十分钟后,我捕获了52个HTTP请求,发往12个不同的域。

十分钟,无用户操作,十二个域

十分钟,52个请求

第一个(也是最后一个)请求引起了我的注意,并让我开始走上这条路。默认情况下,Firefox每60秒向http://detectportal.firefox.com/success.txt发送一个HTTP GET请求。响应只是单词“success”——它在做什么?根据https://bugzilla.mozilla.org/show_bug.cgi?id=1307867,这是Firefox检测是否在捕获门户后面运行的一种方式。捕获门户是您在酒店和机场尝试浏览互联网时获得的登录页面,您必须登录或同意条款等。

有一个“高级”设置可以禁用此功能,但UI中未公开。在地址栏中,键入“about:config”,然后单击警告。

搜索network.captive-portal-service.enabled并单击它以切换为“false”,它将停止发送此请求。

这解决了这个情况,但趁此机会,让我们看看我们能走多远。Firefox项目有一个列表可以帮助您,标题为“如何阻止Firefox进行自动连接”https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections

那篇文章有点旧,有些内容在撰写时已经不在原处,因此让我们从Firefox版本53.0的UI开始,这是本文撰写时的当前版本。

在我们开始之前,您需要知道浏览器窗口右上角、标题栏下方的按钮,带有三条水平线,被称为“汉堡菜单”,由那些想让您相信软盘图标是“保存”功能的不可识别符号的同一群人命名。当我在下面说“汉堡”时,我指的就是这个。

汉堡 > 选项 > 常规:当Firefox启动时:“显示空白页面”

搜索:取消选中您选择的任何搜索引擎的“提供搜索建议”。 内容:(无更改) 应用程序:(无更改) 隐私:取消选中“在隐私窗口中使用跟踪保护”(因为此功能需要Firefox保持其跟踪方法列表更新) 安全:取消选中“阻止危险和欺骗性内容”(因为Firefox也必须保持这些内容的列表更新) 安全:取消选中“阻止危险下载” 安全:取消选中“警告您关于不需要和不常见的软件” 同步:不要在此处登录Firefox帐户。 高级 > 常规:(无更改) 高级 > 数据选择:取消选中此窗格上的所有内容。 高级 > 网络:(无更改) 高级 > 更新:选中“从不检查更新” 高级 > 更新:取消选中“使用后台服务安装更新”和“自动更新搜索引擎” 证书:(无更改)

汉堡 > 附加组件 > 顶部的齿轮菜单:取消选中“自动更新附加组件”

将捕获门户首选项设置为false,并进行这些UI可访问的更改后,关闭Firefox并重新启动它。

情况有所改善,但启动时仍有一些连接发生:

这些比捕获门户问题要少得多,但为了尽可能让Firefox安静,让我们也找出如何停止这些。

转到about:config,并搜索字符串“self-repair.mozilla.org”,您会找到这个:

这是相同的主机名,但不是相同的URL。这实际上与“Heartbeat”用户调查功能相关,如https://wiki.mozilla.org/Advocacy/heartbeat所述,并不实际修复任何内容。

删除此首选项的“值”(双击该行,然后清空值)。然后再次重新启动Firefox。您应该注意到这三个请求不再发生。实际上非常安静!

我再次让浏览器在默认空白标签页上静置十分钟,这次没有来自Firefox的HTTP请求。

在浏览会话期间,仍会有一些自动连接发生,只是频率较低。如果您也想捕获这些,请转到about:config并将以下所有项目设置为“false”:

  • extensions.blocklist.enabled
  • network.prefetch-next
  • extensions.getAddons.cache.enabled
  • browser.casting.enabled

并将此设置为“true”:

  • network.dns.disablePrefetch

并将此设置为零:

  • Network.http.speculative-parallel-limit

并将此设置为空字符串:

  • browser.aboutHomeSnippets.updateUrl

并将这些设置为单词“ignore”:

  • browser.startup.homepage_override.mstone

好了。现在Firefox不应该用您未发出的请求污染您的Burp代理历史。

我将所有这些放入一个user.js文件中,您可以在每次设置新的测试VM时将其复制到Firefox配置文件目录,这样您就不必记住并手动进行所有这些更改。

请记住,这里的唯一目的是让Firefox安静。这不是“安全”问题,实际上在您用于日常浏览的Firefox上安装是一个相当糟糕的主意。

在此处获取文件副本:https://bitbucket.org/mrbbking/quieter-firefox,如果您有改进的想法,存储库也在那里。


评论

Paul - 2017年6月12日 @ 4:37 pm

我尚未为任何站点配置推送通知;但是,我仍然看到Firefox检查wss://push.services.mozilla.com。我通过将dom.push.enabled设置为false来停止它。

bbking - 2017年6月12日 @ 5:47 pm

谢谢,Paul! 我看到有一小部分dom.push.*设置。 我会查看这些并进行一些更新。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计