PHPCMS 信息泄露以及任意删除文件漏洞

那飘逸的雪花,飘飘洒洒的落下来,看到那无数的雪花飘下来,好像无数个花瓣特意合拢起来,又像给人们在跳舞,还象无数个小天使,在给我们奉献出清香的气息。真美啊!
# 发布日期:2010-05.24
# 发布作者:Jannock
# 影响版本:phpcms2008sp4_UTF8_100510
# 官方地址: www.phpcms.cn
# 漏洞描述: Phpcms是一款基于 PHP+Mysql 架构的网站内容管理系统,也是一个开源的 PHP 开发平台。Phpcms 采用模块化方式开发,功能易用便于扩展,可面向大中型站点提供重量级网站建设解决方案。3年来,凭借 Phpcms 团队长期积累的丰富的Web开发及数据库经验和勇于创新追求完美的设计理念,使得 Phpcms 得到了近10万网站的认可,并且越来越多地被应用到大中型商业网站

漏洞分析:

复制代码
代码如下:

Corpandresize/ui.php
$dirnamedirnames = 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中信息,然后直接删除文件,造成删除任意文件漏洞


漏洞利用:
注册普通会员账号 提交
http://www.wavdb.com/corpandresize/ui.php?http://www.wavdb.com/uploadfile/2010/0524/20100524094447855.jpg

些时查看cookie信息
 
修改cookie信息,并点剪切,即可删除文件(本地测试)
 

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

本文PHPCMS 信息泄露以及任意删除文件漏洞到此结束。山沟被雪填平了,和山背一样高,成了一片片平平的雪铺的大广场。谢谢大家支持!