当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0100139

漏洞标题:doyo建站程序平行权限问题2处

相关厂商:wdoyo.com

漏洞作者: linadmin

提交时间:2015-03-09 17:23

修复时间:2015-06-07 18:26

公开时间:2015-06-07 18:26

漏洞类型:非授权访问/权限绕过

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-09: 细节已通知厂商并且等待厂商处理中
2015-03-09: 厂商已经确认,细节仅向厂商公开
2015-03-12: 细节向第三方安全合作伙伴开放
2015-05-03: 细节向核心白帽子及相关领域专家公开
2015-05-13: 细节向普通白帽子公开
2015-05-23: 细节向实习白帽子公开
2015-06-07: 细节向公众公开

简要描述:

doyo建站程序平行权限问题2处

详细说明:

小伙伴和我看了下doyoCMS的逻辑,交wooyun小伙伴们看看是不是个漏洞
首先出现问题的地方是这段代码
代码位置:/source/member.php
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("删除成功");
}
这么看不方便,我上一张图:

1.png


代码从URL获得了$molds $id两个变量
然后进入判断,问题在设计逻辑上,假如$molds被赋值为comment
进入308行case,后面无论id等于多少语句不会出错,所以就会执行成功,然后跳出,进入328行,这时候molds固定,而id是可控的,所以数据库member_file中的数据就会被人为控制删掉,并且数据库链接中的实际图片文件也会别unlink掉
验证一下:
首先注册用户,登陆之
查看数据库

2.png


删除aid=11的图片

3.png


结果

4.png


验证了我的猜想
说他越权原因在于,这个数据库存放的资源uid是隶属于不同人的,也就是说在删除的时候没有考虑uid,这里uid很明显0,也就是管理员的uid,里面的图片也是管理员放的产品图片,所以可以认为是越权操作,利用其可以删除别人的图片资源,导致网站丢图。
同理,这个地方还有另一处越权操作
访问如图链接:

5.png


删除message的同时,可以随意删掉别人的应聘请求(这个地方是字段属于应聘请求数据)

6.png


如果说上一处还存在争议,这一处绝对没有问题。实测可用。

漏洞证明:

如上图片,太难贴图就不贴了

修复方案:

增加数据库造作中uid的识别

版权声明:转载请注明来源 linadmin@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2015-03-09 18:24

厂商回复:

感谢提供

最新状态:

暂无