ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Firefox 46.0渗透便携版:兼容老系统与经典插件的Web测试利器

Firefox 46.0渗透便携版:兼容老系统与经典插件的Web测试利器 简介火狐46.0渗透便携版是面向渗透测试、护网行动与CTF竞赛人员的集成型火狐浏览器工具包专为需要快速开展Web漏洞探测、流量审查与插件管理的安全从业者设计。压缩包内共575个文件整体约69.68MB除主程序核心组件外还包含大量xpi扩展插件、js脚本、sqlite数据、json配置及png/ico图标资源便于理解浏览器插件运行机制或按需替换工具模块dll/exe等运行文件则为离线便携启动提供支撑。目前已有2022人学习下载属于轻量但实用的单兵装备。借助内置的各类安全扩展与预设规则读者可省去逐一手动安装配置的流程拿到后即可在授权评估、护网值守或竞赛环境中使用用于拦截请求、修改Cookie、联动代理及快速调用常见渗透测试功能无论是临时切换渗透环境还是快速搭建测试入口这款便携浏览器都能减少准备时间是一份适合快速上手和长期储备的工具合集。1. 为什么还要折腾一个 Firefox 46.0 的渗透便携版遇到一个只对旧协议友好的内网系统Chrome 直接拒绝访问Firefox 115 ESR 也提示“此连接不受信任”而目标业务偏偏只认老版本浏览器的那套 SSL 握手。这种时候一个藏在 U 盘里的 Firefox 46.0 渗透便携版就是唯一的后悔药。Firefox 46.0 是最后一批完整支持 XUL/XPCOM 旧式扩展的版本HackBar、Tamper Data 这类改包利器在那之后被 Quantum 架构彻底抛弃而便携版的免安装特性又能保证不污染宿主机的浏览器配置与代理设置。适合的人很明确做 Web 渗透测试、内网评估、CTF 解题需要一套插桩齐全、即插即用、拔了 U 盘就消失的工具链的从业者。2. 从普通 Firefox 到渗透便携版目录、profile 与启动参数2.1 便携版不等于绿色版先搞清 profile 目录才是本体很多人以为把 Firefox 安装目录整个拷进 U 盘就是便携版双击 firefox.exe 也能跑但一查%APPDATA%\Mozilla就会发现里面多了一堆新生成的文件。Firefox 的默认 profile 路径固定在系统用户目录下程序目录里只放二进制和自带资源你的插件、书签、代理配置、证书信任列表全部写在 profile 里。真正的便携化是把 profile 也搬到 U 盘或自定义目录然后用启动参数告诉 Firefox“去那边读配置”。Firefox 46.0 的 profile 里几个关键文件和作用对应如下文件作用渗透场景里的价值prefs.js全部偏好设置代理、缓存、TLS、签名校验开关都在这extensions.json已安装扩展清单判断插件是否完整加载cert9.db证书信任库Burp 的 CA 是否被信任、能否解密 HTTPScookies.sqlite / permissions.sqliteCookie 与站点权限目标系统的会话保持、弹窗拦截状态formhistory.sqlite表单历史可能残留测试账号等敏感信息走时记得清复制这些文件不等于便携化关键是指定 profile 路径。Firefox 的目录分区机制决定了把-profile参数指到 Data 目录下它就不再去碰系统里的那个默认 profile。这个思路是所有便携版方案的底子。2.2 用最小目录结构搭出便携版目录划分与启动参数常见做法是参考 PortableApps 的布局自己搭一套不依赖任何打包工具。目录结构如下Firefox46Portable\ App\ firefox.exe 其余 Firefox 程序文件 Data\ profile\ plugins\ start-pentest.batApp 放从安装目录复制来的完整程序文件Data\profile 是空的 profile 容器Data\plugins 预留做自定义插件目录。启动脚本这样写echo off set PFF_DIR%~dp0 %PFF_DIR%App\firefox.exe -profile %PFF_DIR%Data\profile -no-remote -allow-downgrade-profile后面的路径最好用绝对路径但脚本里通过%~dp0动态获取当前目录这样整个文件夹挪到任何盘符都能启动。-no-remote是便携版的保命参数它允许你和宿主机上正在运行的 Firefox 同时存在互不抢占 profile 锁。-allow-downgrade解决的是 profile 版本向后兼容问题如果 U 盘里的这套 profile 曾经被更高版本 Firefox 打开过数据格式会升级46.0 再读会拒绝启动这个参数允许它降级读取。如果只是临时用也可以不带 bat直接 WinR 执行firefox.exe -profile D:\FF46\Data\profile -no-remote效果一样。第一行echo off是隐藏批处理自身的命令回显set PFF_DIR%~dp0把脚本所在目录存进变量目的是让后面引用的路径不写死这一点在 U 盘换盘符时很关键。2.3 验证便携化是否成功三个必查项搭建完不要急着装插件先做三步验证。第一步启动后打开about:profiles看“本地目录”列的路径是否指向你 Data\profile 而不是%APPDATA%。第二步关掉 Firefox去%APPDATA%\Mozilla和%LOCALAPPDATA%\Mozilla看有没有新增文件——如果这两处被写入了东西说明某个环节仍在用默认 profile。第三步把整个目录复制到另一台机器或另一个盘符再启动一次验证路径无关性。检查完这三项这个 Firefox 46.0 才算真正“便携”。很多人做出来能开能关但一查 AppData 全是残留那是假便携带去客户现场一跑就露馅——系统里被写满了你个人工具的痕迹这在渗透测试现场是大忌。3. 渗透工作台配置代理链、证书与隐私开关3.1 代理切换FoxyProxy 的分场景规则渗透测试里最常干的动作就是“目标地址走 Burp其他地址直连”。Firefox 46.0 自带的连接设置只支持一个全局代理没法按域名分流所以 FoxyProxy 是便携版里第一个要装的扩展。装完打开它的配置界面添加代理协议 HTTP、IP 127.0.0.1、端口 8080这就是 Burp 默认监听地址。再把代理模式选成“基于 URL 模式”添加规则规则名URL 模式代理动作Burp 拦截*target.com*、*10.0.0.*走 127.0.0.1:8080本机直连*localhost*、127.0.0.1直连默认all-urls直连这样可以做到访问目标系统时才把流量导进 Burp查资料、下插件时不受代理干扰也不用频繁改 Firefox 全局设置。FoxyProxy 的规则匹配是按优先级从上到下把“本机直连”放在“Burp 拦截”下面避免 localhost 的请求也被送进代理造成死循环。3.2 让 Firefox 46.0 信任 Burp 的 CA 证书不装证书Burp 只能看到 CONNECT 请求HTTPS 流量全是密文。正常流程是Burp 的 Proxy 选项卡里导出 CA 证书为 DER 格式然后在 Firefox 里打开“选项 → 高级 → 证书 → 查看证书 → 证书机构 → 导入”。导入时弹出两个勾选框务必勾上“信任此证书机构以标识网站”。Firefox 46.0 的证书管理入口和现代版本不一样没有“隐私与安全”大栏目证书按钮藏在“高级”选项卡下面第一次找容易翻车。导入完成后访问任意 HTTPS 站点如果地址栏不报红锁说明证书链已被接受。这里有个 noteBurp 导出的证书要选 “Export as DER”Firefox 对 DER 和 PEM 都能识别但 DER 更不容易在导入时被误判。3.3 about:config 里必改的 12 项隐私与协议开关Firefox 46.0 的很多默认行为对渗透测试是干扰项。地址栏输入about:config点“我保证小心”逐个搜下面这些参数并修改参数推荐值修改理由browser.cache.disk.enablefalse不让响应体落盘避免测试数据残留network.http.use-cachefalse强制每次请求都回源不拿缓存判断逻辑browser.privatebrowsing.autostarttrue每次启动即隐私模式减少历史记录污染app.update.enabledfalse禁止自动更新防止半天后变成新版browser.shell.checkDefaultBrowserfalse不弹“设为默认浏览器”的干扰提示datareporting.healthreport.uploadEnabledfalse关掉遥测上报测试目标信息不外传network.http.sendRefererHeader0禁用 Referer某些安全测试需要空 Referer 场景xpinstall.signatures.requiredfalse允许安装未签名的经典渗透插件security.tls.version.min1允许降到 TLS 1.0兼容老业务系统security.tls.version.max3上限 TLS 1.2这就是 46.0 的天花板network.http.http2.enabledfalse老版 HTTP/2 实现有 bug遇怪问题先关它dom.storage.enabledtruelocalStorage 相关测试场景需要开xpinstall.signatures.required是最关键的一项46.0 上这个开关还活着不设成 false后面连 HackBar 都装不进去。security.tls.version.max设成 3 表示 TLS 1.2不要试图往大调Firefox 46.0 的内置 NSS 库根本不认识 TLS 1.3调了也无效。4. 经典渗透插件组合哪些还能用、怎么装4.1 HackBar 与 Tamper Data老版本才能用的改包利器Firefox 46.0 最大的价值就是能跑旧式扩展。HackBar 是 Web 渗透里最顺手的工具它像个嵌在浏览器里的请求编辑器可以直接改 URL 参数、构造 POST 数据、给请求头加自定义字段还能一键对 payload 做 URL 编码。新版 Firefox 早就不允许这种深度介入网络请求的扩展存在只有 57 之前的版本能用。Tamper Data 的作用是拦截浏览器发出的每个请求在发送前允许你篡改请求头、Cookie、POST 参数。很多逻辑漏洞就是靠它临时改一个参数试出来的比反复在 Burp Repeater 里粘贴复制要快得多。它和 Burp 的区别在于Burp 是外部代理Tamper Data 是浏览器内部钩子配合使用时注意别让两个都拦截同一个请求否则数据流会乱。装这些插件的方式很直接拿到 xpi 文件后直接拖进 Firefox 窗口。如果弹出“此扩展未通过验证被阻止”就是签名校验没关回头把 3.3 里的xpinstall.signatures.required设为 false重启浏览器再拖一次。还有一点HackBar 在我的记忆里 2.x 版本有功能残缺的毛病建议找 1.6 左右的经典版按钮齐全SQL 注入测试用的那几个编码按钮都在。4.2 第三方插件缺失时的替代方案老插件不好找是常态尤其是一些冷门扩展的 xpi 已经散落在各种网盘里来源不可控。我一般会采取分层策略FoxyProxy 这类基础工具用新版 WebExtension 替代品HackBar 和 Tamper Data 找不到时退回 Firefox 46.0 自带开发者工具加 Burp 组合。Firefox 46.0 的开发者工具虽然不如现代版本但“查看器→网络”里能看请求头“控制台”里能执行 JS。配合 Burp 的 Repeater实际上能覆盖 HackBar 八成功能。唯一的痛点是构造 POST 请求没有 HackBar 那种“从当前页面直接拉取 URL 和参数”的便利需要在 Burp 里手动拼。如果目标是纯粹测 SQL 注入和 XSSHackBar 还是值得花时间找一找的。另外补充一个在线加载本地插件的技巧某些 zip 格式的扩展包本质上是 xpi 改了个后缀但直接改回.xpi不一定能装。正确的处理办法是把 zip 解压到一个文件夹放到 Data\plugins 下然后在 about:config 里新增一个字符串参数extensions.load.force.reload46.0 是旧式扩展目录加载机制指定那个文件夹路径。这个操作对调试自己写的插件很有用。4.3 插件与扩展的批量安装目录法手动一个个拖 xpi 太慢而且重装系统后要重新来一遍。便携版的优势就是可以把装好的插件直接固化在 profile 里。具体做法装完所有插件后打开Data\profile\extensions目录你会发现每个插件对应一个子目录或 xpi 文件名字是插件 ID类似{1bc9b1e8-1234-5678-90ab-abcdefabcdef}这种。整个把extensions目录连同 profile 一起复制换机器也自带全家桶。extensions.json文件记录了插件的激活状态和版本号批量复制时这个文件也要一起走。如果复制后某些插件没生效多半是extensions.json里的路径还指着旧盘符直接删除这个文件让 Firefox 重新扫描extensions目录是最快的修法。5. 避坑Firefox 46.0 便携版最常见的 5 个翻车点5.1 插件装不上签名校验没关或装错版本现象拖入 xpi 后弹出“此扩展未经验证已被阻止”。原因Firefox 43 之后对扩展强制要求签名46.0 上xpinstall.signatures.required默认是 true。解决先在 about:config 把xpinstall.signatures.required设为 false完全退出 Firefox 再启动然后再拖插件。注意不要在浏览器运行的时候改这个参数——很多情况是改完立即拖 xpi 仍然被拦实际上是旧进程还占着旧配置重启一次就正常。5.2 启动提示“Firefox 正在运行但无响应”现象双击启动器没反应再点弹出 profile 被占用的提示。原因宿主机已经开了一个 Firefox便携版又想去读同一个默认 profile或者上次便携版异常退出profile 锁文件没释放。解决确认启动参数里带了-no-remote -profile 自定义路径锁文件在 Data\profile 下的.parentlock删除后重启即可。这个文件是隐藏文件Windows 资源管理器里看不到要用dir /a或者直接在命令行里删。5.3 访问现代站点报“连接不安全”或直接打不开现象目标系统是新技术栈Firefox 46.0 访问时报ssl_error_unsupported_version。原因46.0 的 NSS 库最高只支持 TLS 1.2而现在很多站点强制 TLS 1.3。解决这是硬伤调参数改不了。常见做法是在 Burp 里做一个 TLS 降级代理Burp 自己用现代 TLS 连接目标Firefox 用 TLS 1.2 连 Burp 的 8080 端口让 Burp 充当翻译层。这一步同时也顺便完成了流量解密一举两得。5.4 视频播放不了没有找到支持的视频格式 MIME 类型现象在目标系统上看到视频资源点开提示“Firefox 没有找到支持的视频格式和 MIME 类型”。原因Firefox 46.0 内置的 H.264/AAC 解码能力很弱Windows 版在多数情况下要依赖系统自带的媒体基础框架。解决先检查media.windows-media-foundation.enabled如果是 false 就改成 true重启。还不行就确认系统里装了解码组件或者干脆放弃在浏览器里看视频用 Burp 抓到媒体文件 URL 后用外部播放器打开。5.5 便携目录被杀毒软件整目录隔离现象U 盘插进客户机器杀毒软件弹出风险提示把 App 下的某个 dll 或 Data 下的 xpi 隔离了。原因Firefox 搭配渗透插件这个组合本身就是杀软特征库里的“潜在不受欢迎程序”某些破解版插件的 dll 加壳更容易触发。解决保证插件来源可信装完把整个目录做一次哈希快照换机器前先比对 hash确认文件没被动过。被隔离的文件可以从隔离区恢复后在杀软白名单里加入整个便携目录。这个问题的根治办法是提前在干净的测试机上验证整套目录不带测试过程中产生的弹窗残留去现场。6. 把便携版做成团队渗透工具箱的进阶技巧6.1 用脚本按场景切换配置组实践里最常用的技巧是准备两套 profile一套是“干净模式”没有任何代理和证书用于普通网页访问和下载一套是“测试模式”预装 Burp 证书、FoxyProxy 规则和 HackBar。用start-clean.bat和start-pentest.bat分别指向不同目录两条命令互不干扰。下面是测试模式启动器echo off set PFF_DIR%~dp0 %PFF_DIR%App\firefox.exe -profile %PFF_DIR%Data\profile-test -no-remote干净模式同理只是 profile 换成profile-clean。这样做的核心收益是让 FoxyProxy 的复杂规则不会误伤日常浏览也避免测试用的证书污染常规 profile。团队共享时只需要同步整个目录把 profile-test 里的证书替换成每个人自己的 Burp CA 即可。6.2 验证便携版是否被动手脚哈希快照与恢复拿去客户现场的工具必须证明来源可靠。我的习惯是维护一份SHA256SUMS文件记录 App 目录下所有核心文件的哈希值。在干净的基准机器上生成快照cd Firefox46Portable/App find . -type f -exec sha256sum {} \; ../SHA256SUMS到了现场或回来后再跑一遍同样的命令用sha256sum -c SHA256SUMS校验。输出里出现FAILED就说明有文件被改过或损坏。这个习惯救过我一次有台机器上的 firefox.exe 被安全软件“修复”过体积没变但哈希对不上重装一遍才算把现场保住。每次任务回来我都把整个便携目录压缩留档命名带上日期和目标代号下次出任务直接拿最新快照不带着上次的“战场残留”出门。这套方案维护成本极低收益却是实打实的一套 Firefox 46.0 渗透便携版跑得过老系统、装得上老插件、不污染宿主机还能用哈希自证清白。希望帮到你。本文还有配套的精品资源点击获取
返回列表