ecshop常见sql注入修复(转)
ecshop系统部署在阿里云服务器上,阿里云提示Web-CMS漏洞:
修复方法如下:
0. /good.php
大概在第80行
$goods_id = $_REQUEST['id'];
修改为
$goods_id = intval($_REQUEST['id']);
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
大概在第246行,API_UserLogin()函数中
/* SQL注入过滤 */
if (get_magic_quotes_gpc()) {
$post['UserId']=$post['UserId']
} else {
$post['UserId']=addslashes($post['UserId']);
}
$post['username'] = isset($post['UserId']) ? trim($post['UserId']) : '';
$post['password'] = isset($post['Password']) ? strtolower(trim($post['Password'])) : '';
4. /admin/edit_languages.php
大概在第120行
$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
所有的$_GET['auid']修改成intval($_GET['auid']);
$_GET['auid'];
修改为
intval($_GET['auid']);
6. /admin/comment_manage.php
大概在第336行,get_comment_list()函数中
$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.php 和 /app/includes/modules/payment/alipay.php
大概在第183行,respond()函数中
$order_sn = trim($order_sn);
修改为
$order_sn = trim(addslashes($order_sn));
8. /includes/lib_insert.php
对以下变量进行过滤
$arr['id'] = intval($arr['id']);
$arr['num'] = intval($arr['num']);
$arr['type'] = addslashes($arr['type']);
9. /admin/integrate.php
大概在第109行
$code = empty($_GET['code']) ? '' : trim($_GET['code']);
修改为
$code = empty($_GET['code']) ? '' : trim(addslashes($_GET['code']));
ecshop常见sql注入修复(转)的更多相关文章
- 关于ECSHOP中sql注入漏洞修复
标签:ecshop sql注入漏洞修复 公司部署了一个ecshop网站用于做网上商城使用,部署在阿里云服务器上,第二天收到阿里云控制台发来的告警信息,发现ecshop网站目录下文件sql注入漏洞以及程 ...
- 常见sql注入的类型
这里只讲解sql注入漏洞的基本类型,代码分析将放在另外一篇帖子讲解 目录 最基础的注入-union注入攻击 Boolean注入攻击-布尔盲注 报错注入攻击 时间注入攻击-时间盲注 堆叠查询注入攻击 二 ...
- 常见SQL注入点判断
sql注入手工检测 SQL注入手工检测 1基本检测 数字型 字符型 搜索型 POST注入 布尔盲注 报错注入 堆叠注入 判断是什么数据库 2绕过技巧 大小写 替换关键字 使用编码 注释和符号 等价函数 ...
- XSS过滤JAVA过滤器filter 防止常见SQL注入
Java项目中XSS过滤器的使用方法. 简单介绍: XSS : 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩 ...
- 常见sql注入的防范总结
在平时的开发过程中,我们可能很少会刻意的去为项目做一个sql注入的防范,这是因为你可能因为使用了某些框架,而无意间已经有了对应sql注入的一些防范操作(比如mybatis使用#{XX}传参,属于预编译 ...
- 常见sql注入原理详解!
1.首先我们创建一个mysqli的链接 /**数据库配置*/ $config = ['hostname'=>"localhost", 'port'=>"330 ...
- 转:PHP中防止SQL注入的方法
[一.在服务器端配置] 安全,PHP代码编写是一方面,PHP的配置更是非常关键. 我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最 ...
- php防止SQL注入详解及防范
SQL 注入是PHP应用中最常见的漏洞之一.事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义( ...
- 【sql注入教程】SQL注入是什么?我们如何去玩转它
[sql注入教程]SQL注入是什么?我们如何去玩转它 本文转自:i春秋社区 SQL注入攻击是黑客攻击数据库最常见手段之一.简单讲,SQL注入攻击是黑客利用网站程序漏洞,通过提交精心构造的SQL语句 ...
随机推荐
- Hadoop介绍-2.分布式计算框架Hadoop原理及架构全解
Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统.最核心的模块包括Hadoop Common.HDFS与MapReduce. HDFS HDFS是Hadoop分布式文件系统(H ...
- linux上udev的配置(转载)
udev配置文件主要的udev配置文件是/etc/udev/udev.conf.这个文件通常很短,他可能只是包含几行#开头的注释,然后有几行选项:udev_rules=”/etc/udev/rules ...
- InnoDB行记录格式(compact)、InnoDB数据页结构
1. compact 行记录格式: 变长字段长度列表,null标志位,记录头信息,列1数据,列2数据 …… 记录头信息中包含许多信息,只列举一部分: 名称 大小 描述 deleted_flag 1bi ...
- “SecureCRT遇到一个致命的错误且必须关闭”处理办法
打开SecureCRT时报错:SecureCRT遇到一个致命的错误且发须关闭.一个崩溃转储文件已创建于... 解决办法是,如下在cmd中输入regedit回车打开注册表编缉器 展开HKEY_LOCAL ...
- Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程
一.服务端请求伪造漏洞 服务端请求伪造(Server-Side Request Forgery),是指Web服务提供从用户指定的URL读取数据并展示功能又未对用户输入的URL进行过滤,导致攻击者可借助 ...
- a标签在编辑器中可以整体删除并且a标签为不可编辑的情况下 标签依然存在(棒棒哒)
a标签在编辑器中可以整体删除并且a标签为不可编辑的情况下 标签依然存在 因为给a标签的后面 添加了一个空元素,如<i></i>(棒棒哒)<div contentEdita ...
- Java多线程中对CountDownLatch的使用
CountDownLatch是一个非常实用的多线程控制工具类,称之为“倒计时器”,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.用给定的计数初始化CountDownLatch,其含义 ...
- Notation, First Definitions 转 http://brnt.eu/phd/node9.html
LaTeX command Equivalent to Output style Remarks \textnormal{...} {\normalfont...} document font fam ...
- WPS处理个人信息一种方法
下面是WPS处理个人信息的方法,具体步骤如下: 第一步:任意打开一个文件: 第二步:点击左上角WPS的小三角,找到工具——选项,如图: 第三步:进入选项后,点击用户信息: 第四步:修改个人信息,用户名 ...
- PC/FORTH 循环
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...