来源:未知 时间:2015-04-15 13:08 作者:xxadmin 阅读:次
[导读] doyo建站程序平行权限问题2处 小伙伴和我看了下doyoCMS的逻辑,交wooyun小伙伴们看看是不是个 漏洞 首先出现问题的地方是这段代码 代码位置:/source/member.php function mydel(){//多处逻辑越权...
|
doyo建站程序平行权限问题2处 小伙伴和我看了下doyoCMS的逻辑,交wooyun小伙伴们看看是不是个漏洞
function mydel(){//多处逻辑越权操作
$molds=$this->syArgs('molds',1);
$id=$this->syArgs('id');
switch ($molds){
case 'comment':
if(!syDB('comment')->delete(array('cid'=>$id,'user'=>$this->my['user']))){
message("删除失败,请重新提交");
}
break;
case 'message':
if(!syDB('message')->delete(array('id'=>$id,'user'=>$this->my['user']))){
message("删除失败,请重新提交");
}
syDB('message_field')->delete(array('aid'=>$id));
break;
default:
$c=syDB($molds)->find(array('id'=>$id,'user'=>$this->my['user'],'usertype'=>1),null,'id,isshow');
if(!$c||$c['isshow']==1)message("此内容已经审核或不是您发布的内容,不能删除。");
if(!syDB($molds)->delete(array('id'=>$id,'user'=>$this->my['user'],'usertype'=>1))){
message("删除失败,请重新提交");
}
syDB($molds.'_field')->delete(array('aid'=>$id));
break;
}
$w=array('aid'=>$id,'molds'=>$molds);
foreach(syDB('member_file')->findAll($w,null,'url') as $v){@unlink($v['url']);}
syDB('member_file')->delete($w);
message("删除成功");
}
解决方案:增加数据库造作中uid的识别 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com