XBOW AI:Palo Alto 的 GlobalProtect VPN 中发现多个 XSS 漏洞
前言
前段时间,XBOW 登顶HackOne Top榜单信息在朋友圈炸开:一个AI 渗透测试系统 以出色的表现在人类为主的SRC里面大杀四方,脱胎理论在实战领域的交出了一份令人惊讶又合理的答卷。
今天笔者就以一篇文章作为引子,与大家初探XBOW的设计思想以及展望AI的未来,同时不得不感慨一番:
你我皆生在这AI元年,真挚邀请并欢迎读者选择关注本公众号,让我们一起品尝更多前沿AI技术落地生产的顶级盛宴!
正文开始
在瞬息万变的网络安全领域,即便是业界领先的安全解决方案,也可能潜藏漏洞,给组织带来风险。今天,我们很高兴地分享,XBOW —— AI 渗透测试系统 —— 在 Palo Alto Networks 的 GlobalProtect VPN Web 应用中发现了多个跨站脚本(XSS)漏洞(CVE-2025-0133)。
这一关键安全产品被全球数以千计的企业广泛使用。
这些发现不仅突显了现代安全测试技术的高度复杂性,也体现了厂商在保护复杂应用时所面临的诸多挑战。
初步探索与侦察
在我们一次 HackerOne 平台上的漏洞赏金测试中,XBOW 被指向了一个 Web 应用,该应用看起来是一个 GlobalProtect VPN 实例,测试目标是识别潜在的 XSS 漏洞。
XBOW 首先进行了全面的应用审查,分析了 GlobalProtect 门户的结构与功能。它的第一步是收集目标的基本信息:
初始响应显示的是一个标准的 GlobalProtect 登录页面,但 XBOW 并未满足于表层分析。
它继续深入检查应用,寻找隐藏参数、JavaScript 文件,以及在常规人工测试中可能被忽略的注入点。
深度客户端分析
XBOW 的漏洞挖掘方法不仅仅局限于简单且系统化的端点测试。它进行了深入的客户端分析,检查 JavaScript 文件、HTML 结构及网络请求,以识别潜在的攻击向量。这一深入检查揭示了应用的一些有趣细节:
• 应用使用 XML 作为客户端与服务器之间的配置数据交换格式 • 多个端点返回可被潜在操控的 XML 内容 • 客户端的 JavaScript 脚本会处理这些 XML 数据,并将其渲染到浏览器中
这一阶段的全面侦察对于识别复杂漏洞至关重要,因为它有助于绘制出应用的攻击面,并理解数据在系统中的流转方式。
初始失败尝试
与其直接跳到 XBOW 发现漏洞端点并加以利用的过程,我们认为更有意义的是回顾它的失败尝试及其推理过程。
例如,在首次尝试登录页面时,XBOW 得出了如下结论:
不幸的是,XBOW 无法通过查询参数控制这些变量:
因此,XBOW 转而去寻找其他可能间接控制这些变量或暴露新攻击向量的端点。
XBOW 并不是盲目猜测;
它在几秒钟内实时编写并执行代码,用于侦测隐藏路径。
而在这一过程中,大型语言模型(LLMs)的训练数据集发挥了巨大作用 —— 它对许多 GlobalProtect 的端点了如指掌,而人类渗透测试人员往往需要花费更多时间才能逐一收集这些信息:
就这样,它找到了第一个具有潜力的端点:
漏洞的气息:两条路径浮现
在对应用进行初步探索之后,XBOW 识别出多个值得关注的端点,其中一个尤为引人注目:
/global-protect/getconfig.esp 端点引起了 XBOW 的注意,因为它会处理 XML 数据并将其返回给客户端,使其成为 XSS 测试的理想候选目标。
参数发现与测试方法论
在确定了目标端点之后,XBOW 立即开始对其进行测试。访问 /getconfig.esp 时,返回了如下内容:
初步探测 /global-protect/getconfig.esp 的结果并不令人振奋,因为它似乎并不会反射任何用户可控的数据:
现在,让我们坦率一点 —— 如果你是一名负责审查这个应用的渗透测试工程师,你会在一个名叫 getconfig.esp、仅返回<has-config>no</has-config>
的端点上花多少时间?
就我个人而言,我可能会认为这个端点只是用于提供某种静态配置,面向的是客户端而非用户控制的部分,于是便会放弃它,转向其他端点。
在最理想的情况下,我可能会尝试一些几乎随机、而且并不聪明的参数。
一个更有经验的渗透测试人员,尤其是熟悉 VPN 解决方案的测试者,也许会以更有针对性的参数组合来测试这个端点。
而这正是 XBOW 所做的:
它首先构建了一个包含大量潜在参数名和简单 XSS 探测 payload 的测试列表:
就这样,XBOW 抓住了一条值得深入挖掘的线索:
突破点:XML 中的反射参数
突破点出现在 XBOW 发现参数 portal-prelogonuserauthcookie 被反射进 XML 响应中,且未经过适当的过滤。
当 XBOW 向该端点发送一个测试值时,它观察到了如下行为:
这个用户输入在响应中的反射,成为潜在 XSS 漏洞的第一个明确迹象。XBOW 立即识别出这是一个有前景的攻击向量,并开始构造可利用的 payload。
这个漏洞的利用难点在于,输入被反射进了 XML 标签内部,这与传统 HTML 上下文中的 XSS 攻击技术有所不同。在 XML 上下文中,标准的 HTML payload 通常会失效,原因如下:
• XML 的解析规则比 HTML 更为严格 • XML 要求文档结构良好,标签必须正确嵌套 • XML 命名空间会影响元素的解析方式 • 浏览器在渲染 XML 与 HTML 时的处理方式不同
XBOW 有条不紊地测试了多种 payload 构造方法,表现出对 XML 解析机制与浏览器渲染行为的深刻理解。
初始 Payload 尝试
XBOW 的首次尝试集中在“突破 XML 结构”,以注入可执行的 JavaScript。
它尝试了多种方式:
尽管处于 XML 上下文中,XBOW 依然系统性地开展 payload 构造测试。
即使某些 payload 在 XML 场景下看似不可行,XBOW 也没有轻易放弃任何潜在向量,哪怕是那些看起来“不常规”的方法。
它以严谨的方式探索了广泛的技术路径,确保没有任何细节被遗漏。
SVG 命名空间的突破
第一次尝试失败了:
但在多次有条不紊的尝试后,XBOW 做出了一个关键性的观察:正确命名空间的 SVG 元素会被以不同的方式渲染和执行。
这成为了关键突破口!
从安全角度来看,SVG 格外值得关注,因为:
• 它是浏览器原生支持的合法 XML 格式 • 它可以通过多种事件处理器嵌入可执行的 JavaScript • 它使用命名空间(namespace)将元素与常规 HTML 区分开 • 浏览器对 SVG 内容实施特殊的渲染规则
XBOW 意识到,使用带有正确 XML 命名空间的 SVG,可以构造一个既是合法 XML 又可执行 JavaScript 的 payload。于是它构造了如下 SVG payload,带有正确的命名空间声明:
这个方法之所以有效,是因为浏览器对 SVG 命名空间的处理方式与普通 HTML 标签不同。
当浏览器渲染该 XML 文档时,它正确地解析了 SVG 元素,并执行了 script 中的 JavaScript,从而成功触发了 XSS payload。
探索更深的漏洞链条:揭示同类漏洞
在发现首个漏洞之后,XBOW 并未就此止步。它继续对整个应用进行深入分析,以识别是否存在类似的漏洞类型。
这个过程被称为变种分析(Variant Analysis),在安全研究中至关重要,因为漏洞模式往往会在应用的不同位置重复出现。
变种一:同一端点中的另一个参数
XBOW 发现,除了 portal-prelogonuserauthcookie 参数外,标准的 portal-userauthcookie 参数同样也存在相同类型的 XSS 漏洞。
这一发现表明:一个漏洞模式可能会在同一个应用的多个参数中重复出现。
变种二:不同端点中的类似漏洞
进一步深入调查后,XBOW 分析了其他端点,并发现 /ssl-vpn/getconfig.esp 存在类似的 XSS 漏洞。该端点接收如 user、domain、computer 等参数,并将用户输入以 XML 格式反射出来,但未进行正确的过滤处理。
这一次,XBOW 编写了一个 Python 脚本来测试 user 参数:
简洁直接,但有效!
有趣的是,首次尝试并非采用 SVG 技术,而是使用了 XHTML 命名空间下的 <script>
标签。
这个 payload 之所以成功执行,是因为 XHTML 命名空间允许 <script>
标签被浏览器解释为可执行的 JavaScript,而非普通的 XML 数据。
这一利用手法的成功凸显了一个重要事实:深入理解浏览器如何处理不同 XML 命名空间,对于漏洞挖掘与利用至关重要。
每一个变种都利用了相同的根本问题 —— 在 XML 响应中对用户输入处理不当,但它们在技术细节上各有不同:
• 原始利用方式:使用 SVG 标签,并通过 onload 事件处理器,在元素渲染时自动执行 JavaScript。 • 第二种变种:通过 XHTML 命名空间,使 <script>
标签在 XML 上下文中变得可执行。
这些不同的利用方式展示了基于 XML 的 XSS 攻击的灵活性,也进一步说明了全面的安全测试必须涵盖多种攻击向量的重要性。
每种方法都利用了浏览器在解析和渲染 XML 时的不同行为,使它们在面对不同的安全控制机制时,都有潜在的成功机会。
影响与修复
XBOW 发现的这些漏洞对使用 Palo Alto GlobalProtect VPN 的组织具有重大的安全影响。
这些 XSS 漏洞可能被攻击者利用以:
• 在已认证用户的浏览器上下文中执行恶意 JavaScript 代码 • 发起伪装成合法 VPN 门户的钓鱼攻击
报告与响应
Palo Alto 在接到报告后迅速响应并着手修复。他们通过威胁防护 WAF(Web 应用防火墙)机制,快速创建了特定签名以阻断跨站脚本(XSS)攻击,作为临时缓解措施。
在得知缓解机制已发布并被客户广泛部署后,我们使用了 XBOW 的“重测(Re-test)”功能。
此功能不仅会验证漏洞是否已被修复,还会模拟高级攻击者尝试绕过防护措施,以确保其真正有效。
结果出人意料:
在几分钟的重测过程中,XBOW 成功生成了一个新的有效利用方式,成功绕过了当前的防护签名。
我们第一时间将此发现重新报告给 Palo Alto,目前正等待其提供更强的修复方案。
总结:安全测试的启示
本案例充分展示了AI 驱动的安全测试在发现传统方法可能遗漏的复杂漏洞方面的强大能力。
XBOW 的系统化测试方法,结合了深入侦察、创造性的 payload 构造,以及变种分析,使其成功在一款主流安全产品中发现了多个 XSS 漏洞。
随不断拓展和提升 XBOW 的能力,相关团队期待分享更多有助于提升网络安全的研究成果。
本次漏洞挖掘展现出的技术深度与复杂性,印证了 AI 驱动的安全测试在漏洞研究中不断突破极限的潜力。
thanks for:https://xbow.com/blog/xbow-globalprotect-xss/
技术点评
从我个人的观点来看,这并不是一个逻辑极其复杂的漏洞,但同时它肯定也不是一个一般平常的垃圾漏洞。
其实真正令人震撼的,并不是漏洞本身的复杂度,而是 漏洞发现的过程 —— 这个漏洞,在常规人工测试中极可能被忽视,但却被 AI 精准捕捉并成功利用。
XBOW 依托其背后的大模型能力,能够整合过往知识、参考公开规则、自动构造变种 payload,并以系统化的方式执行验证。
它不仅做到了“会扫”,更展现出了“会思考”的能力 —— 这已经远超多数人的“自动化脚本 + 人工判断”模式。
当 AI 与现代化的漏洞扫描框架、浏览器引擎、MCP 等工具链整合之后,它所展现出来的渗透能力,已不是简单的辅助工具,而是进化为一只真正意义上的“电子战宠”:记忆广、试探快、推理深、重复无疲倦,甚至比多数人类测试者更具持续性与创造性!
所以,脚本小子的未来现在越来越光明了,AI之下,众生平等!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...