关于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文件中,对输入参数未进行正确类型转义,导致整型注入的发生。

139c139,140
+ $arr[‘num‘] = intval($arr[‘num‘]);
+ $arr[‘id‘] = intval($arr[‘id‘]);
267c268
---
270c271,272
+ $arr[‘id‘] = intval($arr[‘id‘]);
+ $arr[‘type‘] = addslashes($arr[‘type‘]);
308c310
---
+ $arr[‘id‘] = intval($arr[‘id‘]);
修改后更新阿里云控制台,提示已经修复,大功告成
本文出自 “云之上” 博客,请务必保留此出处http://weimouren.blog.51cto.com/7299347/1908368
关于ECSHOP中sql注入漏洞修复的更多相关文章
- 网站sql注入漏洞修复方案之metinfo 6.1.0系列
近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数 ...
- DT6.0关于SQL注入漏洞修复问题
阿里云安全平台提示:Destoon SQL注入,关于: Destoon的/mobile/guestbook.php中$do->add($post);这行代码对参数$post未进行正确转义,导致黑 ...
- ecshop常见sql注入修复(转)
ecshop系统部署在阿里云服务器上,阿里云提示Web-CMS漏洞: 修复方法如下: 0. /good.php 大概在第80行 $goods_id = $_REQUEST['id']; 修改为 $go ...
- ecshop SQL注入漏洞导致代码执行
漏洞名称:ecshop SQL注入漏洞导致代码执行补丁编号:11208761补丁文件:/includes/libinsert.php补丁来源:云盾自研漏洞描述:ecshop的/includes/lib ...
- Drupal 7.31版本爆严重SQL注入漏洞
今早有国外安全研究人员在Twitter上曝出了Drupal 7.31版本的最新SQL注入漏洞,并给出了利用测试的EXP代码. 在本地搭建Drupal7.31的环境,经过测试,发现该利用代码可成功执行并 ...
- Discuz 7.2 /faq.php SQL注入漏洞
测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Discuz 7.2 /faq.php SQL注入漏洞 http://www.xxx.com/faq.php?a ...
- 【代码审计】大米CMS_V5.5.3 SQL注入漏洞分析
0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...
- 【代码审计】XIAOCMS_后台database.php页面存在SQL注入漏洞
0x00 环境准备 XIAOCMS官网: http://www.xiaocms.com/ 网站源码版本:XiaoCms (发布时间:2014-12-29) 程序源码下载:http://www.xi ...
- SQL注入漏洞总结
目录: 一.SQL注入漏洞介绍 二.修复建议 三.通用姿势 四.具体实例 五.各种绕过 一.SQL注入漏洞介绍: SQL注入攻击包括通过输入数据从客户端插入或“注入”SQL查询到应用程序.一个成功的S ...
随机推荐
- 洛谷P2024食物链——并查集补集的灵活运用
题目:https://www.luogu.org/problemnew/show/P2024 自己在做本题时最大的障碍就是:不会在一个集合的father改变时把相应的补集也跟着改变. 借鉴题解后,才明 ...
- ie下的布局(layout)和拥有布局(hasLayout)
我们都知道ie浏览器和其他一些浏览器有很多表现不同的地方,这确实让人头疼,ie的表现与其他浏览器不同的原因之一就是我们今天要说的这个熟悉又陌生的东西:layout是一个专门针对显示引擎内部工作方式的概 ...
- bzoj3629
dfs 跟上道题很像有木有 同样地,我们暴力枚举约数 根据约数和公式,得出$S=\prod_{i=1}^{n}{(1+p+p^{2}+...+p^{a_{i}})}$ 所以每次我们暴力枚举是哪个约数, ...
- 04_数据库升级onUpgrade&ondowngrade
如果想操作多个数据库就不要把数据库的名字写死了 public MyOpenHelper(Context context, String name){ //第一个参数上下文 //第二个参数 数据库的名字 ...
- Crypto Challenge Set 1解题报告
1.Convert hex to base64 题意:给出一个hex编码过的字符串,将它进行base64加密 解题关键:直接利用base64库函数实现 import base64 str1=" ...
- 滴滴Booster移动APP质量优化框架 学习之旅 三
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 滴滴Booster移动App质量优化框架-学习之旅 二对重复资源 ...
- Keras实现CIFAR-10分类
仅仅为了学习Keras的使用,使用一个四层的全连接网络对MNIST数据集进行分类,网络模型各层结点数为:3072: : 1024 : 512:10: 使用50000张图片进行训练,10000张 ...
- 关于unity中BindChannels的理解
http://blog.csdn.net/wpapa/article/details/51794277 官方文档:http://docs.unity3d.com/Manual/SL-BindChann ...
- svn提交的时候提示No space left on device
看到这个错误,第一个反应是磁盘空间满了:但 df 一看,每个分区的空间都还富余的很.从 munin 的监控图表上看 Filesystem usage 也很平稳,但下面的 Inode usage 就有问 ...
- Solr 6.7学习笔记(03)-- 样例配置文件 solrconfig.xml
位于:${solr.home}\example\techproducts\solr\techproducts\conf\solrconfig.xml <?xml version="1. ...