大批量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

三、漏洞复现

环境准备

  1. 操作系统:Windows 7 64位
  2. 软件:
    • KindEditor 4.1.11(官方下载)
    • phpstudy2018(搭建PHP环境)

配置步骤

  1. 在phpstudy网站目录(如C:\phpStudy\PHPTutorial\WWW)新建test文件夹
  2. 将KindEditor解压到test文件夹
  3. 创建上传目录attached
  4. kindeditor-all.js重命名为kindeditor.js(或修改demo调用名称)

漏洞验证方法

  1. 直接访问上传接口:
    /kindeditor/php/upload_json.php?dir=file
    
  2. 上传包含恶意代码的HTML文件,如:
    <script>alert('XSS')</script>
    

攻击者常用手法

  1. 搜索引擎搜索:inurl:kindeditor
  2. 版本确认:访问http://目标网站/kindeditor/kindeditor.js查看版本
  3. 验证漏洞路径:
    /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
    
  4. 使用POC或curl批量上传恶意文件

四、修复建议

紧急修复方案

  1. 直接删除以下文件:
    • upload_json.*
    • file_manager_json.*

长期安全建议

  1. 升级到最新版KindEditor
  2. 定期关注组件安全公告
  3. 实施文件上传白名单机制
  4. 对上传文件进行内容安全检查

安全配置建议

  1. 限制上传文件类型
  2. 对上传文件重命名
  3. 设置上传目录不可执行
  4. 对上传内容进行病毒扫描

五、补充说明

该漏洞早在2017年已在GitHub上报告(参考:https://github.com/kindsoft/kindeditor/issues/249),但仍有大量网站未修复,导致被批量攻击。

六、参考资源

  1. Tide安全团队官网:http://www.TideSec.net
  2. KindEditor官方下载:http://kindeditor.net/down.php
  3. phpstudy下载:http://phpstudy.php.cn/
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调用名称) 漏洞验证方法 直接访问上传接口: 上传包含恶意代码的HTML文件,如: 攻击者常用手法 搜索引擎搜索: inurl:kindeditor 版本确认:访问 http://目标网站/kindeditor/kindeditor.js 查看版本 验证漏洞路径: 使用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/