ECShop商城系统任意用户登录漏洞

2010-05-10T00:00:00
ID SSV:19575
Type seebug
Reporter Root
Modified 2010-05-10T00:00:00

Description

ECSHOP是一款开源免费的网上商店系统。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。

文件/includes/init.php第250行

/ session 不存在,检查 cookie /
if (!emptyempty($_COOKIE['ECS']['user_id']) && !emptyempty($_COOKIE['ECS']['password']))
{
// 找到了cookie, 验证cookie信息
$sql = 'SELECT user_id, user_name, password ' .
' FROM ' .$ecs->table('users') .
" WHERE user_id = '" . intval($_COOKIE['ECS']['user_id']) . "'";
$row = $db->GetRow($sql);

从代码中可以看出, 当SESSION中不存在用户登录信息的时候, 会查看COOKIE中的$_COOKIE['ECS']['user_id']和$_COOKIE['ECS']['password']两个变量。如果 两个变量都不为空,则查询user表中user_id为$_COOKIE['ECS']['user_id']的用户, 如果该用户存在, 就直接置为登录状态。而对$_COOKIE['ECS']['password']在整个判断过程中并未进行使用。

d41d8cd98f00b204e9800998ecf8427e init.php

ECShop 2.7.2 0505版本以下/Beta1/Beta2 厂商补丁 ECSHOP


厂商已经在2.7.2 0505版本的软件中修补了这个安全漏洞: http://www.ecshop.com