也想出现在这里? 联系我们

ECSHOP php商城系统过滤不严导致SQL注入漏洞

作者 : 小编 本文共2330个字,预计阅读时间需要6分钟 发布时间: 2021-06-12 共3.62K人阅读
也想出现在这里? 联系我们

影响版本: ECSHOP 2.7.2 Release 0604 程序介绍: ECSHOP是一款开源免费的网上商店系统。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能。 漏洞分析: 在include_libcommon.php中存在如下函数

PHP Code复制内容到剪贴板
  1. functionget_package_info($id)
  2. {
  3. global$ecs,$db,$_CFG;
  4. $now=gmtime();
  5. $sql="SELECTact_idASid,act_nameASpackage_name,goods_id,goods_name,start_time,end_time,act_desc,ext_info".
  6. "FROM".$GLOBALS[\’ecs\’]->table(\’goods_activity\’).
  7. "WHEREact_id=\’$id\’ANDact_type=".GAT_PACKAGE;
  8. $package=$db->GetRow($sql);
  9. /*将时间转成可阅读格式*/
  10. if($package[\’start_time\’]<=$now&&$package[\’end_time\’]>=$now)
  11. {
  12. $package[\’is_on_sale\’]="1";
  13. }
  14. else
  15. {
  16. $package[\’is_on_sale\’]="0";
  17. }
  18. $package[\’start_time\’]=local_date(\’Y-m-dH:i\’,$package[\’start_time\’]);
  19. $package[\’end_time\’]=local_date(\’Y-m-dH:i\’,$package[\’end_time\’]);
  20. $row=unserialize($package[\’ext_info\’]);
  21. unset($package[\’ext_info\’]);
  22. if($row)
  23. {
  24. foreach($rowas$key=>$val)
  25. {
  26. $package[$key]=$val;
  27. }
  28. }
  29. $sql="SELECTpg.package_id,pg.goods_id,pg.goods_number,pg.admin_id,".
  30. "g.goods_sn,g.goods_name,g.market_price,g.goods_thumb,g.is_real,".
  31. "IFNULL(mp.user_price,g.shop_price*\’$_SESSION[discount]\’)ASrank_price".
  32. "FROM".$GLOBALS[\’ecs\’]->table(\’package_goods\’)."ASpg".
  33. "LEFTJOIN".$GLOBALS[\’ecs\’]->table(\’goods\’)."ASg".
  34. "ONg.goods_id=pg.goods_id".
  35. "LEFTJOIN".$GLOBALS[\’ecs\’]->table(\’member_price\’)."ASmp".
  36. "ONmp.goods_id=g.goods_idANDmp.user_rank=\’$_SESSION[user_rank]\’".
  37. "WHEREpg.package_id=".$id."".
  38. "ORDERBYpg.package_id,pg.goods_id";
  39. $goods_res=$GLOBALS[\’db\’]->getAll($sql);
  40. $market_price=0;

其中$id没有经过严格过滤就直接进入了SQL查询,导致一个SQL注射漏洞。 在系统的lib_order.php中存在一个该函数的调用

PHP Code复制内容到剪贴板
  1. functionadd_package_to_cart($package_id,$num=1)
  2. {
  3. $GLOBALS[\’err\’]->clean();
  4. /*取得礼包信息*/
  5. $package=get_package_info($package_id);
  6. if(emptyempty($package))
  7. {
  8. $GLOBALS[\’err\’]->add($GLOBALS[\’_LANG\’][\’goods_not_exists\’],ERR_NOT_EXISTS);
  9. returnfalse;
  10. }

在flow.php中存在可控的输入源

PHP Code复制内容到剪贴板
  1. $package=$json->decode($_POST[\’package_info\’]);
  2. /*如果是一步购物,先清空购物车*/
  3. if($_CFG[\’one_step_buy\’]==\’1\’)
  4. {
  5. clear_cart();
  6. }
  7. /*商品数量是否合法*/
  8. if(!is_numeric($package->number)||intval($package->number)<=0)
  9. {
  10. $result[\’error\’]=1;
  11. $result[\’message\’]=$_LANG[\’invalid_number\’];
  12. }
  13. else
  14. {
  15. /*添加到购物车*/
  16. if(add_package_to_cart($package->package_id,$package->number))
  17. {
  18. if($_CFG[\’cart_confirm\’]>2)

$package->package_id来源于输入 解决方案: 厂商补丁 ECSHOP ———- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: http://www.ecshop.com 信息来源: 来源: WooYun

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » ECSHOP php商城系统过滤不严导致SQL注入漏洞

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录