小樱 发表于 2018/8/7 19:16

kangle ep easypanel面板一处在线文件管理解压漏洞,任意文件读写,软链接跨权跨站跨目录

kangle ep easypanel面板一处在线文件管理解压漏洞,任意文件读写,软链接跨权跨站跨目录

如果需要测试请注意备份,本帖提供的b.zip仅提供/vhs/kangle/etc/文件夹下的读写,实际上文件可是任意路径,可以读写任意文件夹下内容。shortcut.zip提供整个easypanel面板的文件读写。

复现步骤,需要有一个空间权限,解压后的文件如果删除会导致服务器的文件一同删除,测试注意备份。

文件下载:

引起说明,可能ep安装后没有进行服务器初始化,导致权限未自动化配置
原因分析:通过软链接进行跨目录,属于Linux系统底层bug,禁止软链接在文件管理读出来就算实现也没法彻底解决,毕竟域名访问 或者php文件管理器 应该也可以导致该问题,关键还是权限设置好


修复方法:确保/vhs/kangle/下etc,tmp,var关键信息目录文件夹权限为700,如果不懂调节权限,在3312/admin服务器设置提交,初始化即可,面板会自动对其设置权限。

kangle ep面板并不受此次漏洞影响,这种属于php层面问题,和kangle层面无关系,参考
https://bugs.php.net/bug.php?id=77967
https://bugs.php.net/bug.php?id=76359

v123v 发表于 2018/8/7 19:31

- -我已经删除了-

v123v 发表于 2018/8/7 19:38

坐等小小樱

weiwie 发表于 2018/8/8 01:29

1212121212121212121212

idcsm 发表于 2018/8/8 16:03

请求小樱给出临时修复方式

Ammy.T. 发表于 2018/8/8 17:08

嗯哼哼

萌新 发表于 2018/8/10 00:25

本帖最后由 萌新 于 2018/8/10 00:30 编辑

这个根目录更可怕,有些人备份数据库的时候会出现在临时文件夹/tmp里面这样会被直接搞到手,而且在网站目录里面删除不掉这个软连接,删除的时候就相当于低权限的“rm -rf /*”

小樱 发表于 2018/8/10 02:08

萌新 发表于 2018/8/10 00:25
这个根目录更可怕,有些人备份数据库的时候会出现在临时文件夹/tmp里面这样会被直接搞到手,而且在网站目 ...

这个属于Linux问题没什么办法,只能把php跨目录防护打开 不过会引起很多功能失效

小樱 发表于 2018/8/10 02:09

萌新 发表于 2018/8/10 00:25
这个根目录更可怕,有些人备份数据库的时候会出现在临时文件夹/tmp里面这样会被直接搞到手,而且在网站目 ...

你试试其他面板,应该有相同的问题

萌新 发表于 2018/8/10 03:45

小樱 发表于 2018/8/10 02:09
你试试其他面板,应该有相同的问题

我试了景安的面板,没有这个问题。宝塔好像也有这个问题,你说的夸目录防护是不是PHP里面的禁止函数{:3330:}

小樱 发表于 2018/8/10 05:45

萌新 发表于 2018/8/10 03:45
我试了景安的面板,没有这个问题。宝塔好像也有这个问题,你说的夸目录防护是不是PHP里面的禁止函数{:333 ...

就是php.ini的open_basedir啦

萌新 发表于 2018/8/10 10:32

小樱 发表于 2018/8/10 05:45
就是php.ini的open_basedir啦

我这个一直是打开状态对软连接无效

小樱 发表于 2018/8/10 15:21

萌新 发表于 2018/8/10 10:32
我这个一直是打开状态对软连接无效

那就没什么办法了,,目录权限配置好就行了。属于Linux层面的问题

萌新 发表于 2018/8/10 20:49

好像解决了{:3332:}

小樱 发表于 2018/8/10 21:14

萌新 发表于 2018/8/10 20:49
好像解决了

嗯哼,你可以发个贴了

余生只爱紫霞 发表于 2018/8/12 10:56

修复了,会不会有些功能用不了啊?我看见有的人说可以爆出账号密码

小樱 发表于 2018/8/12 21:16

余生只爱紫霞 发表于 2018/8/12 10:56
修复了,会不会有些功能用不了啊?我看见有的人说可以爆出账号密码

权限正确的话不会有影响

shenmengxi1220 发表于 2018/8/14 14:43

这个实际上是有修复办法的,只需要在解压的时候判断解压后的文件格式就行了,软连接文件一律解压失败。我看EP面板解压是调用的webapp.so,然后应该是调用的7z,然而这些文件都是EP自带的二进制文件,所以一般人没法修复。

小樱 发表于 2018/8/14 16:09

shenmengxi1220 发表于 2018/8/14 14:43
这个实际上是有修复办法的,只需要在解压的时候判断解压后的文件格式就行了,软连接文件一律解压失败。我看 ...

不好说,这个方法并不能完全解决,换个说法,不仅仅是空间管理的危害,例如,可以直接绑定域名并且搭建一个文件管理器,如果空间允许跨权的情况,一样会出现该问题。当然仅仅是php空间允许跨权的情况下才会出现。

shenmengxi1220 发表于 2018/8/14 17:16

小樱 发表于 2018/8/14 16:09
不好说,这个方法并不能完全解决,换个说法,不仅仅是空间管理的危害,例如,可以直接绑定域名并且搭建一 ...

现在php空间都是默认开启open_basedir了,也就是不存在跨权的情况。只需要解决EP这个问题就行了。这个由于需要修复的是已经编译好的二进制文件,所以只能kangle官方修复。

xiaojie 发表于 2018/8/14 18:32

只对Linux有效吗?

小樱 发表于 2018/8/15 00:15

xiaojie 发表于 2018/8/14 18:32
只对Linux有效吗?

跨平台的,windows也可以

xiaojie 发表于 2018/8/16 10:49

我试了下 只有读取删除权限 没有写入权限啊 怎么回事

Scorpio 发表于 2018/8/16 16:36

测试下,谢谢!

小樱 发表于 2018/8/16 17:34

xiaojie 发表于 2018/8/16 10:49
我试了下 只有读取删除权限 没有写入权限啊 怎么回事

肯定没有写入权限啊,如果有写入权限就属于安全隐患了,所以总体来说此问题不受影响。

小樱 发表于 2018/10/19 20:41

webftp.ctl.php听说是这个文件
页: [1]
查看完整版本: kangle ep easypanel面板一处在线文件管理解压漏洞,任意文件读写,软链接跨权跨站跨目录