****elfinder简介:**** elfinder是一款支持在线文件管理的系统服务,基于php语言开发,采用jquery-JS与jquery-UI库,并且能支持多国语言,最大的好处就是开源的。 ---- ****elfinder安装**** elfinder的安装极其的简易,只需要下载解压即可,传送Download 将其解压放在服务器部署映射的目录下 将php文件夹下面的connector.minimal.php-dist 效果图 ---- ****elfinder相关配置**** (1)将默认语言设置位中文 引入js/i18n文件夹下的elfinder.zh_CN.js中文js文件即可,修改index.html【我将 elfinder.html重命名位index.html】 <! -- elFinder translation (OPTIONAL) --> //第一,引入elfinder.zh_CN.js文件。
无意中发现一个很好用的开源web文件管理器插件 elfinder,功能比较完善,社区也很活跃,还方便二次开发。 环境搭建 软件 地址 SpringBoot https://spring.io/projects/spring-boot/ elFinder https://studio-42.github.io/elFinder return defaultElfinderStorage; }} CloudDiskController 控制层实现: @Controller@RequestMapping("elfinder ('/elfinder/jquery-ui-1.12.1.custom/jquery-ui.css'); $('#elfinder').elfinder({ url : '/elfinder/connector', lang: 'zh_CN', height : window.innerHeight
一、CVE-2021-32682,elFinder ZIP 参数与任意命令注入 (一)漏洞条件 CVE-2021-32682 是 elFinder 文件管理器在处理 ZIP 压缩功能时存在的任意命令注入漏洞 ,其触发需满足以下 3 个核心条件: 受影响版本:目标系统使用的 elFinder 版本为 2.1.58 及之前版本(该漏洞在 2.1.59 版本中被修复),且启用了 ZIP 压缩功能(默认启用,用于支持文件打包操作 功能可访问:攻击者能够访问 elFinder 的 connector.minimal.php 接口(该接口是 elFinder 后端核心交互入口,负责处理文件操作请求,如创建、压缩、删除文件等),无需额外身份认证或仅需低权限即可调用 (二)漏洞原理 功能调用逻辑:当用户在 elFinder 中执行文件压缩操作时,前端会向后端 connector.minimal.php 接口发送 cmd=archive 请求,同时传递 name(压缩包名称 命令执行与危害:拼接后的恶意命令被 elFinder 以 www-data 等服务权限执行,攻击者可通过该漏洞实现任意命令执行(如写入 Webshell、反弹 Shell),最终获取目标服务器的低权限控制权
无意中发现一个很好用的开源web文件管理器插件 elfinder,功能比较完善,社区也很活跃,还方便二次开发。 环境搭建 软件 地址 SpringBoot https://spring.io/projects/spring-boot/ elFinder https://studio-42.github.io/elFinder application.properties 配置: # 执行类,内部调用,实现前端相关功能 file-manager.command=com.itstyle.cloud.common.elfinder.command ('/elfinder/jquery-ui-1.12.1.custom/jquery-ui.css'); $('#elfinder').elfinder({ url : '/elfinder/connector', lang: 'zh_CN', height : window.innerHeight
静态引用类将elFinder的$netDrivers数组初始化,将’FTP’赋值给’ftp’,接着往下执行 ? elFinder未被引入到当前文件,那么开始执行autoload.php的elFinderAutoloader方法,因为要实例化elFinder类,所以传入elFinderAutoloader的值为elFinder 接着看elFinder的构造函数 ? ? 现将默认的编码集设置为UTF-8,然后定义服务器命令接收的各种常量 ? 接着_SERVER[‘PATH_INFO’]为空,直接将这个对象的引用给了elFinder类的instance变量 ? 之后直接跳过判断HTTP_X_ELFINDER_VOLUMESCNTSTART的if语句,因为不存在。 ? ?
return $this->abspathCE($path); } return ''; } 可以看出需要正确的 id 才能得到路径 elFinder类 在 elFinder类 的构造方法可以看到使用了 $hashes : array())) === false) { 可以看出来都存在 $args 中 elFinder类 的 exec方法 可以调用 elFinder类 的 upload方法 public foreach ($this->elFinder->commandArgsList($cmd) as $name => $req) { ... $this->output($this->elFinder->exec($cmd, $args)); 可以看出来 POST请求 cmd 为 upload,就会调用 elFinder类 的 upload 方法 当同时上传文件时,$args['FILES'] 将存储上传的文件的信息 elFinder类 在 elFinder类 可以看到 commandArgsList方法 protected $commands
return $this->abspathCE($path); } return '';}可以看出需要正确的 id 才能得到路径elFinder类在 elFinder类 的构造方法可以看到使用了 idpublic $hashes : array())) === false) {可以看出来都存在 $args 中elFinder类 的 exec方法 可以调用 elFinder类 的 upload方法public function foreach ($this->elFinder->commandArgsList($cmd) as $name => $req) { ... $this->output($this->elFinder->exec($cmd, $args));可以看出来 POST请求 cmd 为 upload,就会调用 elFinder类 的 upload方法当同时上传文件时 ,$args['FILES'] 将存储上传的文件的信息elFinder类在 elFinder类 可以看到 commandArgsList方法protected $commands = array( .
无意中发现一个很好用的开源web文件管理器插件 elfinder,功能比较完善,社区也很活跃,还方便二次开发。 环境搭建 软件 地址 SpringBoot https://spring.io/projects/spring-boot/ elFinder https://studio-42.github.io/elFinder return defaultElfinderStorage; }} CloudDiskController 控制层实现: @Controller@RequestMapping("elfinder ('/elfinder/jquery-ui-1.12.1.custom/jquery-ui.css'); $('#elfinder').elfinder({ url : '/elfinder/connector', lang: 'zh_CN', height : window.innerHeight
关于elFinder elFilnder是一个开源的web的文件管理器,其界面和mac系统的finder差不多,用php开发,最近这个web app曝出了一个命令注入漏洞编号是CVE-2019-9194 代码分析 从如下网址可以看到代码的比对 https://github.com/Studio-42/elFinder/compare/2.1.47...2.1 定位到漏洞的代码 : ? . ' -h') === ) { $cmds[] = ELFINDER_EXIFTRAN_PATH . ' -i ' . defined('ELFINDER_EXIFTRAN_PATH')&&define('ELFINDER_EXIFTRAN_PATH', 'exiftran'); 所以这个漏洞的成立条件是目标主机安装了 /usr/bin/python ''' # Exploit Title: elFinder <= 2.1.47 - Command Injection vulnerability in the PHP
crowd-admin 项目介绍 crowd-admin是一个通用后台权限管理系统,集成了rbac权限管理、消息推送、邮件发送、任务调度、代码生成、elfinder文件管理等常用功能,系统内各个业务按照模块划分 是一个java新人易于上手,学习之后能够快速融入企业开发的指导项目 主要特性 项目按功能模块化,提升开发,测试效率 支持消息推送 集成elfinder进行文件管理 支持数据字典 支持邮件发送,采用activeMQ profile可根据-Dspring.profiles.active=dev参数灵活切换配置文件 前端 模板选型:Jsp 管理模板:H+ JS框架:jQuery 数据表格:bootstrapTable 文件管理:elfinder 邮件发送:基于activeMQ异步发送邮件 办公通知 我的通知:接收当前用户得通知信息 通知管理:管理员发送并管理通知消息 基础管理 数据字典:对系统中经常使用的一些较为固定的数据进行维护 文件管理:集成elfinder
ACL 支持zip与unzip 自带文本编辑器与音乐播放器、视频播放器 有vue版本 缺点: 通信协议有点不够简明 不能定制界面与功能 自带的文件查看器可能会增大体积 [y23rxjzrjz.png] elFinder
场景: 最近业务需要,无意中看到开源web文件管理器插件 elfinder,功能还比较不错,想改装一下用在自己的项目里 在本地测试ok但是部署到linux上时,浏览在线大型图片的时候报如下异常; IOUtils.java:2291) at org.apache.commons.io.IOUtils.copy(IOUtils.java:2246) at com.itstyle.cloud.common.elfinder.command.FileCommand.execute (FileCommand.java:69) at com.itstyle.cloud.common.elfinder.command.AbstractCommand.execute(AbstractCommand.java IOUtils.java:2291)atorg.apache.commons.io.IOUtils.copy(IOUtils.java:2246)atcom.itstyle.cloud.common.elfinder.command.FileCommand.execute (FileCommand.java:69)atcom.itstyle.cloud.common.elfinder.command.AbstractCommand.execute(AbstractCommand.java
部署了一个 wiki 系统,如图: 链接中有 tiki 关键词,让我联想到了 TikiWiki CMS,接下来我通过搜索引擎搜索关于 TikiWiki 相关的远程命令执行的漏洞,别说,还真有,问题出在插件 ELFinder
完善的websocket配置,支持消息推送、自定义用户认证、连接周期监听等 支持系统参数配置,支持Spring的@Cacheable注解 项目按功能模块化拆分,自定义全局统一异常输出,代码清晰合理 集成elfinder
http://" + target_ip + ':' + target_port + wp_path + "wp-content/plugins/secure-file-manager//vendor/elfinder