蚁剑最新高危漏洞分析:为什么一个“终端输出”最后变成了客户端RCE?

admin 2026-05-14 13:45:44 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析蚁剑(AntSword)终端模块的高危漏洞,该漏洞因过滤函数不完善导致服务端返回内容被解析为JavaScript链接,在Electron环境下结合nodeIntegration权限可升级为客户端本地命令执行(RCE)。关键发现包括恶意服务端可反向攻击客户端、漏洞利用依赖用户交互但隐蔽性高,建议及时升级至v2.1.16修复版本,并警惕类似Electron富文本工具的安全风险。 综合评分: 88 文章分类: 漏洞分析,WEB安全,应用安全,终端安全,红队


cover_image

蚁剑最新高危漏洞分析:为什么一个“终端输出”最后变成了客户端 RCE?

原创

MarkSec MarkSec

六边形攻防安全

2026年5月12日 20:33 河北

在小说阅读器读本章

去阅读

最近,AntSword 官方 Issue #370 披露了一个非常有意思的漏洞。

很多人第一眼会觉得:

“不就是个 XSS 吗?”

但实际上,它最后能升级成:

客户端本地命令执行(RCE)

官方已经在 v2.1.16 中修复。


一、漏洞核心是什么?

问题出在:

终端模块会对服务端返回内容进行二次解析

而过滤函数:

antSword.noxss()

没有完全过滤特殊格式。

攻击者可以构造:

[[!;;;;javascript:xxx]{http://test}]

最终被终端组件解析成:

<a&nbsp;href="javascript:xxx">

于是:

服务端输出→ 客户端终端渲染→ javascript: 链接→ Electron 执行→ 本地命令执行

整个链路本质上是:

“远程内容被客户端当成可信代码处理”

二、真正危险的是 Electron

普通 Web XSS 危害其实有限。

但 AntSword 使用的是:

Electron

并且开启了:

nodeIntegration

这意味着渲染层可以直接调用:

require()child_processfs

于是:

require('child_process').exec(...)

就能直接执行本地系统命令。

所以这个漏洞最关键的地方其实是:

Electron&nbsp;环境下的 XSS ≈ 本地 RCE

三、最容易被忽略的一点:恶意服务端反打客户端

很多人默认:

客户端攻击 WebShell

但这个漏洞刚好反过来了:

恶意 WebShell 反向攻击 AntSword 客户端

也就是说:

你连接的 Shell 本身可能就是陷阱

尤其是:

  • 来路不明的 WebShell
  • 共享测试环境
  • CTF 环境
  • 红队钓鱼环境

都可能利用这种思路。


四、为什么很多复现都用了 auto_prepend_file?

因为:

auto_prepend_file

可以让 PHP:

在每次执行前自动加载一个文件

这样就能:

统一污染所有响应

而且:

  • 不需要修改已有 WebShell
  • 不需要改客户端 Payload
  • 隐蔽性很高

所以它经常出现在:

  • WebShell 持久化
  • PHP 后门
  • 流量劫持
  • 长驻型木马

等场景里。


五、测试

这里搭建测试环境,本地蚁剑去连接远程的shell在虚拟终端中执行命令点击构造的链接造成本地代码执行。

本地mac 蚁剑版本V2.1.15

同样笔者测试windows版本v2.1.15同样存在漏洞

利用代码

六、这个漏洞真正值得学习的地方

以前安全有个核心的安全思想”永远不要相信用户输入的内容”,但今天在这里却是:

永远不要相信远程服务器返回的内容

哪怕它只是:

“一个终端输出”

因为:

只要客户端会“再次解释”这些内容就可能出问题

类似问题其实大量存在于:

  • Markdown 渲染
  • 富文本编辑器
  • 聊天系统
  • 日志平台
  • AI Agent
  • MCP 工具链

七、最后

这个漏洞虽然已经修复。且这个漏洞其实还是需要用户主动点击终端中的链接(1-click 交互)影响面有限。

但它暴露出来的问题,其实远不止 AntSword。

而是:

Electron&nbsp;+ 富文本 + Node.js 权限

这个组合,本身就天然高危。

未来随着:AI Agent、MCP、桌面化安全工具越来越多。

类似:

“远程内容 → 本地执行”

的问题,大概率还会继续出现。


参考链接

  • https://github.com/AntSwordProject/antSword/issues/370
  • https://github.com/AntSwordProject/antSword/releases
  • https://github.com/AntSwordProject/antSword

公众号回复【蚁剑漏洞】获取完整漏洞利用代码及线上测试环境。


免责声明:

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

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

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

本文转载自:六边形攻防安全 MarkSec MarkSec《蚁剑最新高危漏洞分析:为什么一个“终端输出”最后变成了客户端 RCE?》

评论:0   参与:  0