漏洞概要
关注数(20)
关注此漏洞
漏洞标题: Kindeditor特定情况可能会导致全盘浏览
提交时间: 2014-07-06 18:53
公开时间: 2014-10-02 18:54
漏洞类型: 设计缺陷/逻辑错误
危害等级: 中
自评Rank: 10
漏洞状态:
已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞详情
披露状态:
2014-07-06: 细节已通知厂商并且等待厂商处理中
2014-07-09: 厂商已经确认,细节仅向厂商公开
2014-07-12: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-09-02: 细节向核心白帽子及相关领域专家公开
2014-09-12: 细节向普通白帽子公开
2014-09-22: 细节向实习白帽子公开
2014-10-02: 细节向公众公开
简要描述:
因为例子很少,开始想了下不是他们的漏洞,后面想了下,后面没有检查好用户的正常配置内容导致,还是提下吧。
详细说明:
下载地址:
http://**.**.**.**/files/kindeditor-4.1.10.zip
貌似是最新版本的。
测试语言:PHP
测试漏洞文件:/kindeditor/php/file_manager_json.php
默认配置(第16行):
当/attached/文件夹不存在(被删)或者被改名为一个不存在的目录时,如网上的一个例子:
这个CMS下面的目录根本就没得这个目录,所以就造成了漏洞。
怎么造成了漏洞的呢?我们分析下。
第三十八行:
$current_path = realpath($root_path) . '/';
当$root_path被realpath以后,不存在的目录会返回空,然后连接后面的'/'
$current_path所以默认就等于'/'
当提交了$_GET['path']以后,而且$_GET['path']要以'/'为结尾(有验证),所以,我们就可以构造浏览全盘目录了。
kingedit/php/file_manager_json.php?path=/ (浏览盘符的根目录)
漏洞证明:
接着上面给出验证的(互联网找到几个):
先给本地的(attached文件夹被我删了):
互联网找到的:
http://**.**.**.**/admin/include/kindeditor/php/file_manager_json.php?path=home/demodoucokdce4mmohd8okuoc1o/wwwroot/&dir=image
http://**.**.**.**/static/jscripts/kindeditor/php/file_manager_json.php?path=home/onepage/public_html/
http://**.**.**.**/Public/kindeditor/php/file_manager_json.php?path=wwwroot/bonade/
修复方案:
版权声明:转载请注明来源 Tea@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2014-07-09 15:28
厂商回复:
暂未建立与软件生产厂商的处置渠道,先行确认,待认领。
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2014-07-31 22:43 |
j2ck3r
( 普通白帽子 |
Rank:424 漏洞数:98 | 别关注我,跟你不熟。)
0
-
2014-08-02 23:34 |
Tea
( 普通白帽子 |
Rank:321 漏洞数:40 | Can't We Be Young.)
0
-
2014-08-03 12:42 |
j2ck3r
( 普通白帽子 |
Rank:424 漏洞数:98 | 别关注我,跟你不熟。)
1
@Tea 这漏洞我从来没有成功过 不知道你是在什么环境下成功的
-
2014-08-03 12:45 |
Tea
( 普通白帽子 |
Rank:321 漏洞数:40 | Can't We Be Young.)
0
-
2014-10-02 09:51 |
U神
( 核心白帽子 |
Rank:1360 漏洞数:150 | 乌云核心菜鸟,联盟托管此号中,欢迎加入08...)
0
@Tea 应该很少有CMS的kindeditor会没有attached目录吧
-
2014-10-08 10:00 |
Tea
( 普通白帽子 |
Rank:321 漏洞数:40 | Can't We Be Young.)
0
@U神 前面说了。。配置文件跟目录不一致了就会有。。默认是存在那目录的。所以标题叫特定情况。。