视频教程

youtube播放地址:https://youtu.be/6UJocLvEXtM
专线机场推荐:https://b.880805.xyz
9.24-9.30周年庆85折优惠码:Anniversary
10.1-10.7国庆节9折优惠码:1001

相关链接

clash:https://fofa.info/result?qbase64=IntcImhlbGxvXCI6XCJjbGFzaFwifSI%3D
clash.meta:https://fofa.info/result?qbase64=IntcImhlbGxvXCI6XCJjbGFzaC5tZXRhXCJ9Ig%3D%3D
openclash:https://fofa.info/result?qbase64=cG9ydD0iOTA5MCIgJiYgYm9keT0ie1wibWVzc2FnZVwiOlwiVW5hdXRob3JpemVkXCJ9Ig%3D%3D

SwitchyOmega:https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN

clash Dashboard:http://clash.razord.top
clash.meta Dashboard:http://clash.metacubex.one

#API授权验证
secret: 123456

#SOCKS/HTTP代理验证
authentication:
- user:pass

友情提醒html代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>友情提醒</title>
</head>

<body>
    <div id="result"></div>
    <script>
        const data = {
            payload: "allow-lan: false\nproxy-groups: \n  - name: 友情提醒\n    type: select\n    proxies:\n      - 你的Clash API暴露在公网,请注意防护\nproxies:\n  - name: 你的Clash API暴露在公网,请注意防护\n    type: ss\n    server: 1.1.1.1\n    port: 2222\n    cipher: aes-128-gcm\n    password: 666\n    udp: true"
        };
        fetch('http://127.0.0.1:9090/configs', {
                method: 'PUT',
                headers: {
                    'Content-type': 'application/json; charset=utf-8',
                    'Authorization': 'Bearer 123456' //clash鉴权头部
                },
                body: JSON.stringify(data),
            })
            .then(response => {
                if (response.status === 204) {
                    result.innerText = '提醒成功!';
                } else {
                    response.json()
                        .then(jsonData => {
                            result.innerText = '提醒失败!' + JSON.stringify(jsonData);
                        })
                }
            })
            .catch(error => {
                result.innerText = '执行失败!' + error.message;
            });
    </script>
</body>

</html>

视频文稿(忽略)

clash是一个非常强大好用的代理工具,大部分机场用户都是使用clash,上手非常简单,一键导入即可使用,但也正因为上手简单,很多人都忽视了一些安全问题,导致自己的clash变成公共免费代理,本期就来讲讲如何使用别人的clash节点,以及如何避免这种情况在自己身上发生

三个月前我做过一期视频讲解clash通过api重载恶意指令配置导致RCE的安全问题,并且在视频的最后演示了公网上有很多未开启clash api授权的用户,提醒大家要设置密码,感兴趣的朋友可以回看,那期视频的播放量有40万,我感觉应该会有很多人重视这个问题,于是我这两天再搜索了一下,发现开放clash api的人数从原来的8000多变成了1万多(什么情况,发生什么事了),clash meta也从原来的700上升到了1000多,为了引起大家的足够重视,本期就来实际演示一下这些人的机场流量是怎么被别人偷跑的,其实我上次已经比较隐晦的提了一嘴,看样子并没有引起大家的注意。

首先打开这个网址获取开放了了clash api的用户,这些用到的信息我会放在视频下方的说明栏,可以切换到中国地区获取更准确的数据,随便打开一个,网页返回了hello clash,说明这个用户开放了clash api,这里搜索出来的大部分都可以正常打开,接着进入clash的dashboard,以这个ip为例,复制ip和端口,跟着视频演示将ip和端口填入到dashboard中,点击确定,成功连接到了别人的clash,相当于我正在直接操控别人电脑里的clash,可以查看他的访问日志,分流规则、连接状态等信息,来到设置页面,可以看到http的代理端口是7890,socks的代理端口是7891,相当于别人的电脑使用clash开启了免费的公共http和socks代理,我们连上他的代理端口应该就能直接使用了,使用浏览器插件SwitchyOmega来完成这个操作,服务器填入刚才的ip,端口填写http的7890,如果你要用socks就填7891,点击应用,切换到刚才配置的代理,尝试访问百度,访问失败,因为并不是所有开放了clash api端口就一定开放了代理端口,所以这个ip不能正常代理,但我们可以看到左下角显示了他的clash版本是1.14,这个版本没有修复路径穿越,并且由于是公网环境,我们可以主动提交恶意指令到他电脑里的任意位置,不需要像内网一样必须让他打开某个网址被动触发,不过这不是我们本期的内容,而且这种侵入行为是违法的,我不能演示也提醒大家不要去尝试。

既然这个不能用的话换一个即可,这里有上万个目标,能用的概率还是很大的,同样输入ip和端口,同样成功连接了别人的clash,http代理端口也是7890,填入到浏览器插件中,成功访问到了百度,说明这个代理可以正常使用,再来尝试访问谷歌,也没有问题,并且速度还挺快,这个ip归属地在上海,尝试切换节点,换一个新加坡的,操作逻辑和clash for windows是一样的,因为他们都是调用clash的api接口,可以点击这里打断所有连接,再测试的话就显示新加坡的ip了,可以在这里看到当前连接的网址,现在的网络拓扑相当于我的电脑连接到了别人电脑里clash开启的http代理,我访问网站的请求会交给别人电脑里的clash处理,这就是利用别人的clash节点进行科学上网的方式,也是他们的流量被偷跑的主要原因之一,看到这里估计又有人要大骂clash了,但这并不是clash的问题,clash的官方文档也强调了api暴露在公网必须设置授权密码,只是很多人并没有在意,也没有意识到已经暴露在公网了,至于怎么解决我们等会再细说

再来尝试几个,确定可以正常显示hello clash,将ip和端口填入,又可以连接到别人的clash了,也可以给他的节点扯个延迟,注意这个延迟是节点到他电脑的延迟,而不是到你本地的延迟,同样http端口是7890,填入ip,刷新网页发现无法访问,可以看到这里没有开启允许局域网连接,启用他,重新访问,可以正常访问,这是一个杭州的ip,并且连接了香港的节点,再换一个试试,同样可以连接,端口同样是7890,可以正常使用,连接了台湾的节点,尝试切换一个新加坡的节点,同样没有问题,能用的概率还是很大的,不过等你看到这个教程之后能用的概率估计就大打折扣了,本身我的目的主要在于提醒大家预防此类问题,而不是让大家去利用

再来试试meta内核,也有一千多个用户,如果可以用,打开连接后会显示hello clash meta,接着打开meta内核专用的dashboard,界面不太一样,但操作和clash是一样的,填入ip和端口,来到设置页面,这里没有单独设置http代理端口,你可以手动填入一个,也可以直接使用这个7890的混合代理端口,意思是http和socks通用的端口,尝试访问,这个无法使用,换一个再试试,这个可以使用,这个是香港的用户,连接了韩国的节点,应该是clash搭建在香港的vps上,有没有人知道这是什么奇怪的操作?再试一个,这个也没问题,中国用户连接了美国的节点

最后再试试软路由上常用的openclash插件,之前那期视频中有一个高赞评论,这位朋友的观点是错误的,openclash默认是有弱口令鉴权的,所以默认搜索到的大部分都不是openclash,另外openclash对路径穿越并没有什么特殊的防护,如果使用未修复的clash版本,同样可以将恶意文件写入到软路由的任意位置

打开这个连接,有三万多条结果,还是在指定了端口为默认的9090情况下,这些有很大一部分是openclash,随便打开一个连接,显示 ,表示未通过授权,因为openclash默认开启了api鉴权,但默认密码是123456,很多用户没有修改默认密码的习惯,约等于没开鉴权,所以也有利用空间,和刚才的操作一样,填入ip和端口,如果此时直接点击确定的话是没有反应的,因为密码不正确,填入默认密码123456,再次点击确定,如果还是没有反应说明密码不正确,换一个,可以看到这个使用默认密码可以直接登陆,大概率是使用openclash,也就是我们登陆了别人软路由里的clash,这个的节点质量不怎么样,换一个,这个不行,这个又可以,所以概率同样很大,这个节点质量不错,可以试试他的代理,刷新网页后弹出了账号密码登录框,说明这个用户的http代理设置了鉴权,换一个,点击确定没反应,也有可能他的openclash用的是meta内核,所以也可以用meta的面板试试,同样不行,说明确实是密码不对,总之就是这样一个个去尝试,openclash的话裸奔的概率要低一点,毕竟是软路由用户,相对来讲会比较注意一点,另外我们可以观察到大部分人用的代理端口都是默认的7890,所以我们可以完全不用检查api是否开放,直接尝试代理是否可以连接,有的时候即使api没开放,也可能开放了代理端口,这个可以使用,是深圳的用户连接了台湾的节点,也可以参考我之前获取反代cf的教程批量导出这些ip,就不用一个个试了,这个也可以正常使用

造成这个问题的原因就是你将clash的api接口暴露到了公网,并且没有设置授权密码,要防止接口暴露到公网需要配置防火墙,由于每个人的设备都不一样,软路由,开发板,电脑主机,三者配防火墙的方式都不一样,全部演示的话有点麻烦,以后单独花篇幅讲解,本期我们主要演示开启clash的api授权,这样即使暴露在公网,也不用担心别人强制和你连接,操作也比较简单

如果你是手机用户,默认不存在这个问题,不用担心
如果你是在电脑里运行clash for windows这种图形化客户端的用户,也不用担心接口暴露问题,因为你的电脑大概率没有公网ip,即使有,clash for windows也不会将api接口暴露给公网,如果你不需要将网络共享给局域网的其他设备,可以关闭allow lan的选项,如果你需要共享,那建议你不要使用默认的7890端口,防止有人全网扫7890,这样设置之后就不用担心了

列表中搜索到的未授权clash大部分都不是上面两种情况,更可能是用开发板或者虚拟机直接跑clash内核做网关代理,但是直接跑内核做网关代理的用户算是比较高阶了,没理由会犯这种低级错误,所以我也不太清楚这部分的用户是什么成分,有了解的朋友可以在评论区给大家分享,我这里就当他们是直接跑内核,没有在配置文件中添加api授权导致的,因为我们在机场下载的clash订阅文件或者通过订阅转换获取到的clash配置,默认都不会有授权密码,如果你直接拿这个配置去跑内核的话,大概率在公网是裸奔的状态,解决这种情况需要在配置文件中加入这两段语句,secret就是api的授权密码,建议设置的复杂一点,防止被人穷举,下面就是http代理和socks代理的授权密码,也就是刚才浏览器弹出的登陆框,只要设置了这两个授权密码,即使暴露在公网别人也连接不到你,不用担心流量被别人偷跑,将这两段顶格插入到你的clash配置文件里,保存后,重新使用你的clash内核加载这个配置即可

如果你是openclash的用户,首先进入全局设置,勾选仅允许内网,然后直接应用配置即可,这样的话别人就不能从公网连接到你的clash了,但同样的你自己在外面也连接不到家里的clash,如果你有公网访问的需求,那就不能勾选,需要设置授权密码,来到外部控制,将默认的123456弱口令api授权改成自定义密码,来到最下面,添加一个socks/http认证,设置账号和密码,然后应用配置,这样通过公网连接家里的api接口或者socks代理就需要填写密码了。可以防止成为公共的免费节点

其实很多人没有暴露是因为运营商没有给他分配公网ip,如果大部分人都有公网ip的话,这个问题会更严峻,所以希望大家都能提高这方面的防范意识。视频中演示所有成功连接的代理ip我均通过之前讲过的方式做了友情提醒,防止被人滥用,再次重申我的目的并不是让大家去滥用这些代理,而是提醒大家要注意此类问题。另外这个问题是用户本身使用不当造成的,和clash没有关系,请大家理性发言。

最后修改:2023 年 09 月 24 日 09 : 00 AM