大批量Kindeditor文件上传事件的漏洞分析
字数 1128 2025-08-18 11:38:28
KindEditor文件上传漏洞分析与防护指南
一、漏洞背景
KindEditor是一款广泛使用的开源HTML可视化编辑器,具有以下特点:
- 兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器
- 使用JavaScript编写,可与Java、.NET、PHP、ASP等程序无缝集成
- 适用于CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用
二、漏洞描述
漏洞本质
在KindEditor ≤4.1.11版本中,upload_json.*上传功能文件允许被直接调用,导致可以上传.htm、.html、.txt等文件到服务器。
实际危害
攻击者可上传包含恶意代码的HTML文件,实现:
- 跳转到违法色情网站
- XSS攻击
- 钓鱼攻击
影响版本
KindEditor版本 ≤4.1.11
三、漏洞复现
环境准备
- 操作系统:Windows 7 64位
- 软件:
- KindEditor 4.1.11(官方下载)
- phpstudy2018(搭建PHP环境)
配置步骤
- 在phpstudy网站目录(如
C:\phpStudy\PHPTutorial\WWW)新建test文件夹 - 将KindEditor解压到test文件夹
- 创建上传目录attached
- 将
kindeditor-all.js重命名为kindeditor.js(或修改demo调用名称)
漏洞验证方法
- 直接访问上传接口:
/kindeditor/php/upload_json.php?dir=file - 上传包含恶意代码的HTML文件,如:
<script>alert('XSS')</script>
攻击者常用手法
- 搜索引擎搜索:
inurl:kindeditor - 版本确认:访问
http://目标网站/kindeditor/kindeditor.js查看版本 - 验证漏洞路径:
/kindeditor/asp/upload_json.asp?dir=file /kindeditor/asp.net/upload_json.ashx?dir=file /kindeditor/jsp/upload_json.jsp?dir=file /kindeditor/php/upload_json.php?dir=file - 使用POC或curl批量上传恶意文件
四、修复建议
紧急修复方案
- 直接删除以下文件:
upload_json.*file_manager_json.*
长期安全建议
- 升级到最新版KindEditor
- 定期关注组件安全公告
- 实施文件上传白名单机制
- 对上传文件进行内容安全检查
安全配置建议
- 限制上传文件类型
- 对上传文件重命名
- 设置上传目录不可执行
- 对上传内容进行病毒扫描
五、补充说明
该漏洞早在2017年已在GitHub上报告(参考:https://github.com/kindsoft/kindeditor/issues/249),但仍有大量网站未修复,导致被批量攻击。
六、参考资源
- Tide安全团队官网:http://www.TideSec.net
- KindEditor官方下载:http://kindeditor.net/down.php
- phpstudy下载:http://phpstudy.php.cn/