漏洞详情

披露状态:

2013-12-30: 积极联系厂商并且等待厂商认领中,细节不对外公开
2014-03-30: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

yxcms任意文件删除 导致的重新安装漏洞

详细说明:

yxcms任意文件删除 导致的重新安装漏洞
protected/apps/members/contoller/newscontroller.php

if (empty($_FILES['picture']['name']) === false){
$tfile=date("Ymd");
$imgupload= $this->upload($this->uploadpath.$tfile.'/',config('imgupSize'),'jpg,bmp,gif,png');
$imgupload->saveRule='thumb_'.time();
if(!empty($_POST['oldpicture']) && $_POST['oldpicture']!=$this->nopic){
$picpath=$this->uploadpath.$_POST['oldpicture'];
echo $picpath;
if(file_exists($picpath)) @unlink($picpath);//删除文艺文件
}

漏洞证明:

可以删除任意文件 这样我们就能二次安装了。

首先注册一个用户 完了之后

打开 http://127.0.0.1/yxcms/index.php?r=member/news/add 随便新建一个帖子 需要上传一张图片

完了之后 在跳转时候的网页里点击编辑 就是我们刚发布的文章

现在打开burp 在编辑的界面里面选择一个新的图片上传 点击确认

完了 切换到burp

修改oldpicture 为 ../../../protected/apps/install/install.lock

删除掉安装的锁定文件

完了在打开 http://127.0.0.1/yxcms/index.php?r=install就能再次安装了

1.jpg

2.jpg

3.jpg

4.jpg

修复方案:

你猜,你们install文件的del_dir没有作用啊 有作用就能不会导致二次安装了

版权声明:转载请注明来源 Matt@乌云


漏洞回应

厂商回应:

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


漏洞评价: