千家信息网

关于ECSHOP中sql注入漏洞修复

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,公司部署了一个ecshop网站用于做网上商城使用,部署在阿里云服务器上,第二天收到阿里云控制台发来的告警信息,发现ecshop网站目录下文件sql注入漏洞以及程序漏洞如下图:与技术沟通未果的情况下,网
千家信息网最后更新 2025年11月13日关于ECSHOP中sql注入漏洞修复

公司部署了一个ecshop网站用于做网上商城使用,部署在阿里云服务器上,第二天收到阿里云控制台发来的告警信息,发现ecshop网站目录下文件sql注入漏洞以及程序漏洞

如下图:


与技术沟通未果的情况下,网上查了点资料,对其文件进行修复,如下修改:

1,/admin/shopinfo.php修复方法

(大概在第53、71、105、123行,4个地方修复方式都一样) admin_priv('shopinfo_manage'); 修改为 admin_priv('shopinfo_manage'); $_REQUEST['id'] =intval($_REQUEST['id']);

2,/admin/shophelp.php修复方法

(大概在第81、105、133、155行,4个地方修复方式都一样) admin_priv('shophelp_manage'); 修改为 admin_priv('shophelp_manage'); $_POST['id'] =intval($_POST['id']);


3,/api/client/includes/lib_api.php漏洞修复方法

复制代码

functionAPI_UserLogin($post)

{

/*添加 SQL注入过滤 */

if (get_magic_quotes_gpc())

{

$post['UserId'] = $post['UserId']

}

else

{

$post['UserId'] =addslashes($post['UserId']);

}

/* */

$post['username'] = isset($post['UserId'])? trim($post['UserId']) : '';

…….

4,\admin\edit_languages.php漏洞修复方法

// 修复前

$dst_items[$i]= $_POST['item_id'][$i] .' = '. '"' .$_POST['item_content'][$i].'";';

// 修复后,由于想在单引号之间出现单引号,必须使用转义。

$dst_items[$i]= $_POST['item_id'][$i] .' = '. '\'' .$_POST['item_content'][$i]. '\';';

修复后,测试一下,是否还有漏洞。


5,/admin/affiliate_ck.php sql注入漏洞修复

get_affiliate_ck函数.

function get_affiliate_ck()226行

修复方案

对$_GET['auid']强制转换

if (isset($_GET['auid']))

{

$sqladd = ' AND a.user_id=' . intval($_GET['auid']);

}

6,/admin/comment_manage.php注入漏洞修复 336行

文件在/admin/comment_manage.php后台sql注入漏洞。

/admin/comment_manage.php修复方法(大概在第336行)

$filter['sort_by'] =empty($_REQUEST['sort_by']) ? 'add_time' : trim($_REQUEST['sort_by']);

$filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' :trim($_REQUEST['sort_order']);

修改为

$sort =array('comment_id','comment_rank','add_time','id_value','status');

$filter['sort_by'] = in_array($_REQUEST['sort_by'], $sort) ?trim($_REQUEST['sort_by']) : 'add_time';

$filter['sort_order'] = empty($_REQUEST['sort_order'])? 'DESC' : 'ASC';

7,/includes/modules/payment/alipay.phpSQL注入漏洞 116行

防御方法

/includes/modules/payment/alipay.php

functionrespond()

{

if (!empty($_POST))

{

foreach($_POST as $key => $data)

{

$_GET[$key] = $data;

}

}

$payment = get_payment($_GET['code']);

$seller_email =rawurldecode($_GET['seller_email']);

$order_sn = str_replace($_GET['subject'],'', $_GET['out_trade_no']);

/* 对$order_sn进行有效过滤 */

$order_sn = trim(addslashes($order_sn));

/* */

..

8,/includes/lib_insert.phpsql注入漏洞修复

ecshop的/includes/lib_insert.php文件中,对输入参数未进行正确类型转义,导致整型注入的发生。

  1. 139c139,140

  2. + $arr['num'] = intval($arr['num']);

  3. + $arr['id'] = intval($arr['id']);

  4. 267c268

  5. ---

  6. 270c271,272

  7. + $arr['id'] = intval($arr['id']);

  8. + $arr['type'] = addslashes($arr['type']);

  9. 308c310

  10. ---

  11. + $arr['id'] = intval($arr['id']);


修改后更新阿里云控制台,提示已经修复,大功告成


漏洞 方法 文件 阿里 地方 引号 控制台 方式 网站 转义 控制 有效 大功告成 之间 代码 信息 公司 函数 参数 后台 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 朝阳区运营网络技术咨询排名靠前 华为手机网络技术特点 服务器安全性能排名 网络安全分析防护方案 法国ovh服务器 松江区网络技术服务质量保证 我国对网络安全研究 灵井一中小学网络安全大赛 202教育网络安全形势 华为服务器电源灯橙色闪烁 果考网服务器地址哪里查 华为方舟手机版双人开服务器 自来水公司网络安全措施 国家电网网络技术应用 服务器cpu超频 文献信息数据库的基本单位不包括 数据库的概念视图包含哪些对象 服务器配置和数据库的关系 中国数据库技术的现状 唐山软件开发哪家好 网络安全法应履行哪些要求 电脑数据库更新失败怎么办 服务器日期转换成客户机日期 企业网络安全实验 ajax删除数据库数据jsp 青海服务器虚拟化系统服务器 开展网络安全教育的模板 中国网络安全十大热点 群晖web服务器 网络安全攻防大赛胖
0