当前位置: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

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

  1. 2015-01-06 18:31 | roker ( 普通白帽子 | Rank:357 漏洞数:108 )

    不用看我就知道了。

  2. 2015-01-06 18:47 | ′雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    @roker 666

  3. 2015-01-06 18:52 | roker ( 普通白帽子 | Rank:357 漏洞数:108 )

    @′雨。 777

  4. 2015-01-06 20:46 | Mxx ( 路人 | Rank:0 漏洞数:2 | 没有)

    目测会火。

  5. 2015-01-07 14:11 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    怎么没在通用那里?

  6. 2015-01-10 21:43 | 泳少 ( 普通白帽子 | Rank:231 漏洞数:79 | ★ 梦想这条路踏上了,跪着也要...)

    啥情况

  7. 2015-01-12 12:49 | neal ( 普通白帽子 | Rank:219 漏洞数:23 )

    提交这个 一般都是 匿名 因为大家都知道 他的算法有问题 一直没改

  8. 2015-01-27 12:40 | ′雨。 ( 普通白帽子 | Rank:1231 漏洞数:190 | Only Code Never Lie To Me.)

    @roker 这个不错哦。:)

  9. 2015-01-27 12:55 | roker ( 普通白帽子 | Rank:357 漏洞数:108 )

    @′雨。 啪啪啪

  10. 2015-04-06 18:45 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    @neal 这个其实很吊,并不是算法问题。不知道谁交的。

  11. 2015-04-08 16:38 | 胡小树 ( 实习白帽子 | Rank:60 漏洞数:11 | 我是一颗小小树)

    @phith0n 算是逻辑漏洞吗,intval函数必须得小心使用啊

  12. 2015-06-08 13:21 | answer ( 普通白帽子 | Rank:347 漏洞数:45 | 答案)

    真的吊

  13. 2015-07-18 18:44 | 牛肉包子 ( 普通白帽子 | Rank:254 漏洞数:64 )

    又是intval的坑