phpcms 暴路径和删除任意文件漏洞

漏洞名称:phpcms 暴路径和删除任意文件漏洞
发布日期:2010-05-24
缺陷版本:phpcms2008sp4_UTF8_100510
安全综述:Phpcms 是国内领先的网站内容管理系统,同时也是一个开源的PHP开发框架。Phpcms 由内容模型、会员、问吧、专题、财务、订单、广告、邮件订阅、 短消息、自定义表单、全站搜索等20多个功能模块组成,内置新闻、图片、下载、信息、产品5大内容模型。Phpcms 采用模块化开发,支持自定义内容模型和会员模型,并且可以自定义字段。

漏洞描述:
Corpandresize/ui.php
$dirnames = dirname($query_string); //4行
$tmp = PHPCMS_ROOT.str_replace($PHPCMS['siteurl'],'',$dirnames).'/';
$tmp_url = str_replace($PHPCMS['siteurl'],'',$dirnames);
if(preg_match("/http:/",$tmp))
{
         $tmp = PHPCMS_ROOT.UPLOAD_URL.date('Y').'/'.date('md').'/';
         $tmp_url = UPLOAD_URL.date('Y').'/'.date('md');
         dir_create($tmp);
}
setcookie('tmp',$tmp);

把本地路径保存在cookie中。

Corpandresize/process.php
$thumbfile = $_COOKIE['thumbfile'];   //62行
if($thumbfile) @unlink(TMP_PATH.'/'.$thumbfile);

在图片剪切那里,先读取cookie中信息,然后直接删除文件,造成删除任意文件漏洞

测试方法:
1.注册普通会员账号
2.提交:http://www.phpcms.cn/corpandresize/ui.php http://www.phpcms.cn/uploadfile/2010/0524/20100524094447855.jpg
3.此时查看cookie信息

解决方案:等官方补丁或删除Corpandresize目录文件