[漏洞播报]紧急爆雷!蚁剑v2.1.15高危漏洞,XSS秒变RCE

admin 2026-04-29 05:41:14 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 蚁剑v2.1.15存在高危漏洞,服务端可构造特定响应绕过noxss过滤,利用jquery.terminal格式码注入javascript协议链接。因客户端Electron开启nodeIntegration,用户点击链接即触发RCE。建议通过扩展noxss过滤方括号、限制组件协议白名单或关闭nodeIntegration来修复。本文实质为靶场平台推广软文。 综合评分: 75 文章分类: 漏洞分析,漏洞预警,软文广告


cover_image

[漏洞播报]紧急爆雷!蚁剑 v2.1.15 高危漏洞,XSS 秒变 RCE

Elon Elon

好靶场

2026年4月28日 12:24 四川

在小说阅读器读本章

去阅读

💡 好靶场

团队宗旨:我们立志于为所有的网络安全同伴制作出好的靶场,让所有初学者都可以用最低的成本入门网络安全。所以我们团队名称就叫“好靶场”。


我们承诺每天至少更新1-2个新靶场,目前靶场800+;好靶场追求的是稳定日常更新而不仅仅是数量。

好靶场使用教程:【好靶场】用户使用指南


1.好靶场介绍

官网链接http://www.loveli.com.cn/

零基础入门不迷茫! 专属网络安全从零到一体系化训练——配套完整靶场+精选学习资料,帮你快速搭建网安知识框架,迈出入门关键一步! 全场景实战全覆盖! 聚焦Web渗透工程师核心能力,深度拆解TOP10逻辑漏洞,精通PHP代码审计、Java代码审计等核心技能,从基础原理到实战攻防,覆盖行业高频应用场景! 真实漏洞场景沉浸式体验!src训练专题重磅上线——1:1还原真实漏洞报告,让你亲身感受实战挖洞流程,积累符合企业需求的实战经验!

🚀哈喽~各位宝子们周二下午好~~👋!今日为大家带来的是紧急爆雷!蚁剑 v2.1.15 高危漏洞,XSS 秒变 RCE的内容,这一次从xss变成了rce漏洞,宝子们在使用的时候需要注意,接下来进行详细的报道;以下的详细内容👇

2. 报道内容

概述

在 AntSword v2.1.15 中发现一个安全问题:antSword.noxss() 函数的字符过滤范围未覆盖 jquery.terminal 的格式码语法字符,导致恶意服务端可以通过构造特定响应内容,在虚拟终端中注入带有 javascript: 协议的可点击链接。由于主窗口运行在 nodeIntegration: true 的 Electron 环境中,点击该链接可导致客户端任意代码执行。

影响版本

AntSword v2.1.15(其他版本未逐一验证,但只要同时满足 noxss 过滤逻辑和 nodeIntegration: true 即受影响)

复现步骤

1. 环境准备

准备一个恶意 PHP 服务端,在终端命令执行的响应内容中注入 jquery.terminal 格式码:

[[!;;;;javascript:void(require(`child_process`).exec(`calc.exe`))]{http://localhost/phpmyadmin/}]

2. 连接与触发

使用 AntSword 连接上述服务端 打开虚拟终端 执行任意命令(如 whoami) 命令输出中出现一个看似正常的 URL 链接 点击该链接 → calc.exe 在客户端弹出 原因分析 **noxss()**过滤了 *& ‘ > < ” *五个字符,可以有效阻止直接的 HTML 标签注入。但 **jquery.terminal v1.1.1 **的格式码语法使用 **[ ] ! ; : **等字符,这些字符均未被 noxss() 过滤。

数据流:

服务端响应 → noxss() 过滤([ ] ! ; : ` 全部通过)→ term.echo() → jquery.terminal 解析格式码 → 渲染为 <a href="javascript:..."> → 用户点击 → Electron 执行 JavaScript → require('child_process') 可用 → 任意命令执行

核心问题在于 noxss() 过滤发生在 jquery.terminal 格式码解析之前,形成了二次渲染的安全间隙。

涉及代码位置

建议修复方案

方案一:扩展 noxss 过滤字符集(最小改动)

noxss: (html =&nbsp;'', wrap =&nbsp;true) => {
&nbsp; &nbsp;&nbsp;let&nbsp;_html = String(html)
&nbsp; &nbsp; &nbsp; .replace(/&/g,&nbsp;"&amp;")
&nbsp; &nbsp; &nbsp; .replace(/'/g, "&apos;")
&nbsp; &nbsp; &nbsp; .replace(/>/g, "&gt;")
&nbsp; &nbsp; &nbsp; .replace(/</g, "&lt;")
&nbsp; &nbsp; &nbsp; .replace(/"/g, "&quot;")
&nbsp; &nbsp; &nbsp; .replace(/\[/g, "&#91;"); &nbsp; &nbsp;// 新增:阻断 jquery.terminal 格式码
&nbsp; &nbsp; if (wrap) {
&nbsp; &nbsp; &nbsp; _html = _html.replace(/\n/g, '<br/>');
&nbsp; &nbsp; }
&nbsp; &nbsp; return _html;
},

#### 方案二:终端初始化时限制链接协议

在 jquery.terminal 组件层面增加协议白名单限制,强制 href 仅允许 http:// 和 https:// 协议,禁止解析 javascript: 等危险协议,从源头阻断恶意链接执行。

#### 方案三(长期):关闭 nodeIntegration

将 app.js 中的 nodeIntegration 设置为 false,并通过 contextBridge 安全暴露所需的 Node.js API。该方案可从根本上阻止 XSS 漏洞升级为 RCE,但涉及架构改动,修改成本相对较高。

测试 Payload

[[!;;;;javascript:void(require(`child_process`).exec(`calc.exe`))]{http://localhost/phpmyadmin/}]

[ ] 被替换为全角字符 → jquery.terminal 不再识别为格式码 → 不会生成可点击链接

Github地址https://github.com/AntSwordProject/antSword/issues/370

3. 如何使用好靶场

首先关注“好靶场微信公众号”然后发送bug,可以点击链接直接登录

4. 福利

福利1: 找到个人中心,邀请码输入0482d6d28539424c,白嫖14天高级会员。

福利2: 关注好靶场bilibili。拿着关注截图找到客服,领取5积分或者7天高级会员。

5. 每日限免

每日限免 为了能让更多的宝子可以免费的开启会员靶场,我们会在工作日随机开放一些靶场的限免,还请加群关注。

我们会在微信群、QQ群每天更新限免靶场,以及免费学习资料;任选一个群添加即可,所有的通知都会到位在交流群通知,请添加好友,我将邀请你加入“好靶场内部交流群”

6. 好靶场AI客服机器人

为方便学习还有提问,我们设计了好靶场Ai客服机器人,可以完成简单的客服能力,以及好靶场日常靶场提醒更新、根据你的询问推荐靶场

“噜噜大王”正式上线

大家点击左边的快捷工具,有一个AI助教功能,然后点开就可以和噜噜大王对话啦,由于是内测期间,仅限于年会员才可以进行使用。还需要进行微调,会随着大家的使用而进行优化。

你可以尝试问一下关于打靶场的问题

🚀好靶场会员订阅

好靶场会员订阅 首先点击会员订阅 ,然后选择对应的套餐 ,选择对应的会员去支付 ,支付完成后即可会员到账


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:好靶场 Elon Elon《[漏洞播报]紧急爆雷!蚁剑 v2.1.15 高危漏洞,XSS 秒变 RCE》

评论:0   参与:  0