当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0138968

漏洞标题:kingcms任意php文件删除(可截断时升级为任意文件删除 )

相关厂商:kingcms

漏洞作者: 路人甲

提交时间:2015-09-07 11:21

修复时间:2015-10-22 11:22

公开时间:2015-10-22 11:22

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:10

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-09-07: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-10-22: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

设计不当导致任意php文件删除

详细说明:

漏洞文件:global.php 好像是所有php文件都会调用该文件,该文件如下代码

//当cache_path值被提交过来的时候,删除对应的临时缓存文件
if(!empty($_POST['cache_path'])){
$cache_path=ROOT.PATH_CACHE.'/'.$_POST['cache_path'].'.php';
if(is_file($cache_path)){
unlink($cache_path);
}
}


可以看到此处对于POST传递参数cache_path并没有进行详细验证直接加上前缀路径和php后缀带入判断是否存在,当条件成立直接删除对应文件,此时只要构造cache_path相应参数值即可实现任意php文件删除,当成功实现截断时可升级为任意文件删除

漏洞证明:

此处自己搭建了一个环境,构造cache_path=../lock.inc%00 进行删除安装锁文件(删除后可实现程序重安装并进行getshell)

1.png


2.png


3.png


删除lock.inc后进行重安装getshell

6.png


7.png

修复方案:

对参数进行验证

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝