代理检测:在线检测您是否在使用 Clash

2024 年 9 月 28 日
 mikewang

ClashScan

(推荐使用最新 Chrome 内核浏览器) https://mikewang000000.github.io/ClashScan/

代码开源在 GitHub ,页面部署在 GitHub Pages 上。


Clash 是一个比较常见的代理软件,有很多衍生版本和 GUI 程序。
不过我最近才发现它是允许 CORS (跨域)的,这带来了不小的安全隐患。

再加上很多 GUI 默认不加 Secret 进行身份验证,即使运行在 127.0.0.1 ,也能被外部网站随时调用。

如果您没有修改默认配置,值得检测一次。


41572 次点击
所在节点    信息安全
154 条回复
crackidz
2024 年 9 月 28 日
现在还有一个问题是 Clash Verge Rev 之类的 GUI 客户端覆写了这部分设置,secret 没有生效。你需要去 GUI 界面的设置里调整一下对应的 WebUI 设置。
0o0O0o0O0o
2024 年 9 月 28 日
1. 本站曾经有人提醒过 /t/946991 ,我可能也在一些回复里提醒过
2. 想跑题联动一下近期的一个热门帖 /t/1075187 ,不知道有没有哪些朋友看那个帖子 OP 和 @4KMOMhIkocgLELMt 提到的安全隐患觉得不以为然,然而在这个帖子一测试又觉得有被吓到😂
addenvex
2024 年 9 月 28 日
我加了 secret ,接口是 401, 也认为我使用了吗

wniming
2024 年 9 月 28 日
不准,我没用 clash 也能检测成 clash
mikewang
2024 年 9 月 28 日
#43 @addenvex 是的,即使有密码,返回 401 也能检测到。
请求记录里这些接口会返回 401 ,然后你访问一些其他的路径会返回 404 。通过这些接口路径特征,能推断出 Clash 及其版本号。

#44 @wniming 有一定的推断逻辑在里面,可能你的环境刚好命中特征了。会有误报的可能。
loveqianool
2024 年 9 月 28 日
http://sing-box.sagernet.org/zh/configuration/experimental/clash-api

access_control_allow_origin

自 sing-box 1.10.0 起

允许的 CORS 来源,默认使用 *。

要从公共网站访问私有网络上的 Clash API ,必须在 access_control_allow_origin 中明确指定它而不是使用 *。
access_control_allow_private_network

自 sing-box 1.10.0 起

允许从私有网络访问。

要从公共网站访问私有网络上的 Clash API ,必须启用 access_control_allow_private_network 。
ko20
2024 年 9 月 28 日
我用的局域网当中的某台机器部署的 clash 暴露出来的 http/https/socks5 代理,然后使用 switchy omega 插件添加 socks5 proxy profile 的。没有检测到 clash
RyougiShiki
2024 年 9 月 28 日
检测到了,订阅信息都出来了。
ziseyinzi
2024 年 9 月 28 日
再加几个常用的路由/旁路由网关地址
shitshit666
2024 年 9 月 28 日
是时候写个蜜罐了,看看是谁偷偷检测了 clash
TossPig
2024 年 9 月 28 日
我还以为能扫到我旁路由上的 clash ,结果啥都没监测到
proxytoworld
2024 年 9 月 28 日
@shitshit666 蜜罐已经自动化利用 cfw 漏洞了...更别说扫描 clash 端口
vvhy
2024 年 9 月 28 日
firefox 上被 uBlock Origin 拦截了,关了 ub 之后也被 CORS 拦截了
不会真有人不加密码跑在公网上吧 https://en.fofa.info/result?qbase64=ImV4dGVybmFsLWNvbnRyb2xsZXI6IDkwOTAi
kenvix
2024 年 9 月 28 日
TLDR:
如果没开管理端口 secret ,会直接扫出正在打开的网站和节点名称和地址信息
开了 secret 能知道你在用,但无法获取隐私信息
hoofei
2024 年 9 月 28 日
被检测到了
Xu3Xan89YsA7oP64
2024 年 9 月 28 日
能不能用外行也能看懂的话来描述一下,到底有什么风险?
YCCD
2024 年 9 月 28 日
![img]( )
liuzimin
2024 年 9 月 28 日
你们说的什么外部控制端口?在哪里设置?我只知道 7890 那个。
mikewang
2024 年 9 月 29 日
#56 @shizhibuyu2023

部分 clash 客户端,默认配置下(默认端口,无密码验证):

1. 即使 clash 端口不暴露外部,运行在本地,外部网站也能通过网页调用,读取或者修改 clash 配置;
2. 如果是老版本 clash 核心,利用这种方法,还可以配合( CVE-2023-24205 )漏洞,控制整台电脑。

如果加了密码,但保持默认端口:

1. 外部网站也能通过网页调用,根据不同的报错情况,推断出你在使用 clash 。

================

#57 @YCCD

好的反馈!我在 macOS Safari 上测试了一下,Safari 不允许从 https 页面上发起 http 请求。
所以是检测不到的。但是如果 GitHub Pages 是 http 的,那就可以调用了。
mikewang
2024 年 9 月 29 日
#58 @liuzimin 说的是 9090 的 api 端口,verge 默认是 9097 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1076579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX