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

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

缺陷编号: WooYun-2013-23684

漏洞标题: phpcms_v9.3.2某管理模块逻辑校验漏洞

相关厂商: phpcms

漏洞作者: Code_Sec

提交时间: 2013-05-14 08:38

公开时间: 2013-08-09 08:39

漏洞类型: 设计缺陷/逻辑错误

危害等级: 中

自评Rank: 5

漏洞状态: 漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签: 设计缺陷/边界绕过

1人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-05-14: 细节已通知厂商并且等待厂商处理中
2013-05-19: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2013-07-13: 细节向核心白帽子及相关领域专家公开
2013-07-23: 细节向普通白帽子公开
2013-08-02: 细节向实习白帽子公开
2013-08-09: 细节向公众公开

简要描述:

phpcms_v9某管理模块逻辑校验存在漏洞,可被绕过并非法使用。

详细说明:

在文件\modules\sms\sms.php中:

code 区域
class sms extends admin {

function __construct() {
$this->log_db = pc_base::load_model('sms_report_model');
$this->module_db = pc_base::load_model('module_model');
$this->member_db = pc_base::load_model('member_model');

//获取短信平台配置信息
$siteid = get_siteid();
$this->sms_setting_arr = getcache('sms');
if(!empty($this->sms_setting_arr[$siteid])) {
$this->sms_setting = $this->sms_setting_arr[$siteid];
} else {
$this->sms_setting = array('userid'=>'', 'productid'=>'', 'sms_key'=>'');
}

//初始化smsapi
pc_base::load_app_class('smsapi', '', 0);
$this->smsapi = new smsapi($this->sms_setting['userid'], $this->sms_setting['productid'], $this->sms_setting['sms_key']);
}



类sms作为子类,类admin作为父类。而phpcms的后台功能权限校验是放在父类admin的构造函数中,但是子类sms在继承父类admin后,在sms的构造函数function __construct()中并没有调用父类的构造函数,即sms该类的没有任何权限校验。导致可以直接使用该模块的管理功能。



与其他模块\modules\tag\search_admin.php对比:

code 区域
class search_admin extends admin {
function __construct() {
parent::__construct(); //父类admin的构造函数,有权限校验功能
$this->siteid = $this->get_siteid();
$this->db = pc_base::load_model('search_model');
$this->module_db = pc_base::load_model('module_model');
$this->type_db = pc_base::load_model('type_model');
}





对比sms类的构造函数中缺少了调用父类的构造函数parent::__construct();

而phpcms的管理权限校验功能放在父类admin的构造函数中

漏洞证明:

构造数据POST,可以直接修改sms模块的配置信息

localhost/index.php?m=sms&c=sms&a=setting

修复方案:

增加缺失的构造函数

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2013-08-09 08:39

厂商回复:

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2013-08-09 09:09 | softbug ( 实习白帽子 | Rank:66 漏洞数:10 | 为人类设计最好的软件,解放人的双手,一起...)
    0

    检查的狠细致

登录后才能发表评论,请先 登录