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

2024 年 9 月 28 日
 mikewang

ClashScan

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

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


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

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

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


41577 次点击
所在节点    信息安全
154 条回复
gengGui
2024 年 9 月 29 日
还没尝试检测,看了一下 Clash X 设置,包含了这些配置项:
- 代理端口:7890 、
- Api 端口:9090 ,允许局域网控制(不推荐):未勾选、
- Api 密钥:已设置,覆盖配置文件设置:未勾选
为了安全些,是不是要修改默认端口号,更新 Api 密钥,勾选覆盖配置文件设置这些。
clf
2024 年 9 月 29 日
127.0.0.2 就扫不到了。
vishun
2024 年 9 月 29 日
@nyxsonsleep #38 目前这个程序是扫描'127.0.0.1',如果其他程序设置扫描'127.0.1.2'是不是还是能扫描到?
vishun
2024 年 9 月 29 日
@WhatTheBridgeSay #64 原理写不写倒是无太关紧要,最好是能将解决方法维护上,方便让大家修改。
nyxsonsleep
2024 年 9 月 29 日
@vishun #83 可以。所以我说了《比如 127.0.0.2 》,一定要设置可以自己高位的 ip ,不在本地的 ip 。也可以自己去改源码,编译,彻底关掉这个功能。
nyxsonsleep
2024 年 9 月 29 日
目前看到的风险主要是钓鱼网站可以通过这个手段偷机场代理。如果 clash 被发现漏洞可以提权抓肉鸡。
opengps
2024 年 9 月 29 日
这部很原始的穷举本地所有端口方式
SenLief
2024 年 9 月 29 日
你们都是有公网 ip 的吗
mikewang
2024 年 9 月 29 日
@ZeroDu
也不完全一样,做了一些加强。

这次想说明,即使改成 127.0.0.1 ,加密码不改端口号,也能通过路径探测到 clash (虽然获取不到节点信息,但是能知道你在用。)当然不加密码更是直接读配置。

———
@y1y1

之所以能成功跨域,是因为 clash 内核的 header 设置了 Access-Control-Allow-Origin: *,相当于解除浏览器跨域限制,欢迎大家来访问。
不过还有一些浏览器像 Safari 限制更严格,https 不能跨域到 http 被拦截,还有一些隐私插件会拦截,所以不是 100%保证成功。

这次做的比较匆忙,是一个粗糙的 demo ,没有太大技术含量。只是为了证明 CORS 的设置不合理,应有配置能默认关闭。

———
@WhatTheBridgeSay

网页“任何网站都能检测”是对 Access-Control-Allow-Origin: *的解释,通配符允许了所有网站。不过确实不够严谨,因为可能还会遇到其他限制。

时间原因,没法做到面面俱到。网页就在 GitHub 上,如果有好的建议欢迎直接提 PR ~

———
对于端口扫描,正常情况下浏览器前端是没法对本地端口扫描的。Access-Control-Allow-Origin: *导致有被扫到的风险。就是这样。
mikewang
2024 年 9 月 29 日
@SenLief 这次说明的不是公网问题。而是 Clash 的 CORS 设定不合理,可以通过浏览器前端,让浏览器扫到你 127.0.0.1 上的端口,借浏览器跨域控制 clash 。
wcwac
2024 年 9 月 29 日
@nyxsonsleep 直接修改你的代理配置搞中间人攻击也很可怕吧
vitovan
2024 年 9 月 29 日
@mikewang #90 感谢楼主。
huangzhiyia
2024 年 9 月 29 日
提了个提升 128 倍速度的 PR
huangzhiyia
2024 年 9 月 29 日
128 倍扫描速度的体验地址: https://zmaplex.github.io/ClashScan/
PositionZero
2024 年 9 月 29 日
Clash Verge Rev 好像是默认覆盖配置文件里的 external-controller 字段的 ……?确实是个安全问题
lvlongxiang199
2024 年 9 月 29 日
自从 clash 爆出远程代码执行漏洞后, 就把它关在 docker 里的
Felldeadbird
2024 年 9 月 29 日
卧槽。马上改。
SiuRayyy
2024 年 9 月 29 日
所以这个问题应该怎么解?
wind1986
2024 年 9 月 29 日
@ffnil 最新版好像会限制访问本地网站
idou
2024 年 9 月 29 日
谢谢提醒

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

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

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

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

© 2021 V2EX