又出漏洞了,严重啊。
2016-07-07 15:23 来源:www.chinab4c.com 作者:ecshop专家
漏洞概要缺陷编号: WooYun-2010-00248 漏洞标题: ecshop SQL注射漏洞 相关厂商: ecshop 漏洞作者: xsser 提交时间: 2010-08-21 公开时间: 2010-08-21 漏洞类型: SQL注射 危害等级: 高 漏洞状态: 未联系到厂商或者厂商积极忽略 漏洞来源: http://www.wooyun.org -------------------------------------------------------------------------------- 漏洞详情简要描述:在Ecshop中缺乏对参数的有效过滤,导致一个SQL注射漏洞,成功利用该漏洞的攻击者可以获得数据库及站点的完全权限。 详细说明:在include_libcommon.php中存在如下函数 function get_package_info($id) { global $ecs, $db,$_CFG; $now = gmtime(); $sql = "SELECT act_id AS id,act_name AS package_name, goods_id , goods_name, start_time, end_time, act_desc, ext_info". " FROM " . $GLOBALS['ecs']->table('goods_activity') . " WHERE act_id='$id' AND act_type = " . GAT_PACKAGE; $package = $db->GetRow($sql); /* 将时间转成可阅读格式 */ if ($package['start_time'] <= $now && $package['end_time'] >= $now) { $package['is_on_sale'] = "1"; } else { $package['is_on_sale'] = "0"; } $package['start_time'] = local_date('Y-m-d H:i', $package['start_time']); $package['end_time']= local_date('Y-m-d H:i', $package['end_time']); $row = unserialize($package['ext_info']); unset($package['ext_info']); if ($row) { foreach ($row as $key=>$val) { $package[$key] = $val; } } $sql = "SELECT pg.package_id, pg.goods_id, pg.goods_number, pg.admin_id, ". " g.goods_sn, g.goods_name, g.market_price, g.goods_thumb, g.is_real, ". " IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS rank_price " . " FROM " . $GLOBALS['ecs']->table('package_goods') . " AS pg ". "LEFT JOIN ". $GLOBALS['ecs']->table('goods') . " AS g ". "ON g.goods_id = pg.goods_id ". " LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ". "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ". " WHERE pg.package_id = " . $id. " ". " ORDER BY pg.package_id, pg.goods_id"; $goods_res = $GLOBALS['db']->getAll($sql); $market_price= 0; 其中$id没有经过严格过滤就直接进入了SQL查询,导致一个SQL注射漏洞。 漏洞证明:在系统的lib_order.php中存在一个该函数的调用 function add_package_to_cart($package_id, $num = 1) { $GLOBALS['err']->clean(); /* 取得礼包信息 */ $package = get_package_info($package_id); if (empty($package)) { $GLOBALS['err']->add($GLOBALS['_LANG']['goods_not_exists'], ERR_NOT_EXISTS); return false; } 在flow.php中存在可控的输入源 $package = $json->decode($_POST['package_info']); /* 如果是一步购物,先清空购物车 */ if ($_CFG['one_step_buy'] == '1') { clear_cart(); } /* 商品数量是否合法 */ if (!is_numeric($package->number) || intval($package->number) <= 0) { $result['error']= 1; $result['message'] = $_LANG['invalid_number']; } else { /* 添加到购物车 */ if (add_package_to_cart($package->package_id, $package->number)) { if ($_CFG['cart_confirm'] > 2) $package->package_id来源于输入 修复方案:你猜啊~~~~ -------------------------------------------------------------------------------- 漏洞回应厂商回应:未能联系到厂商或者厂商积极拒绝 本文来自: 红科网安官方网络安全论坛 http://bbs.honkwin.com |
回答:
这是礼品 ID没过滤有鸡肋没开启后台功能 基本没事但是有个大的注入通杀的 |
你好~~ 这个补丁昨天下午发了。可以到补丁区下载补丁覆盖就可以了 |
没看到啊,在什么地方有? |
没看到补丁的链接。 |
哇,学习了,高手啊 |
最近更新
常用插件
- ecshop供应商插件免费下载
ecshop供应商插件免费下载...
- ecshop二次开发售后维修卡
插件介绍: 本插件是用于专门从事电子,信息,软件等售后服务关键比...
- ecshop按分类筛选销售排行
ecshop按分类筛选销售排行...
- ecshop快递发货单打印商品
ecshop快递发货单打印商品信息,大家都知道ecshop快递单打印的时候,只能...
- ecshop选择下单时间插件
ecshop选择下单时间插件主要是根据不同的下单配送要求,在ecshop购物车...
ecshop热门问答
ecshop热门资料
ecshop旗舰版
ecshop等级
Askyayacps
ecshop技术支持
最土数据库
ecshopfilezilla
ecshopGucci
ecshop无法使用
ecshop异常
ecshop分店
ecshop建设
ecshop帅哥美女
ecshop企业版
ecshop录取
ecshop浏览
ecshop快捷
ecshop二级地区目录
ecshop大学生创业
ecshop储存量
ecshop模板修改
ecshop错别字
ecshop訂單管理
ecshop当当网
ecshopoffice
ecshopcaught
ecshop短信息
ecshop大人
ecshop成更高
ecshop货源
ecshop826