ecshop 漏洞如何修复 补丁升级与安全修复详情
目前ecshop漏洞大面积爆发,包括最新版的ecshop 3.0,ecshop 4.0,ecshop2.7.3全系列版本都存在着高危网站漏洞,导致网站被黑,被篡改,被挂马,许多商城系统深受其漏洞的攻击,给商城的运营者以及网站运营者带来很大的经济损失,甚至有些ecshop还被跳转到了一些恶意网站上去。那么ecshop漏洞如何修复呢?
首先我们要先了解下ecshop漏洞的发生根源,我们SINE安全工程师对其所有版本的代码进行了全面的人工安全检测,以及网站漏洞检测,发现ecshop根目录下的user.php文件存在远程代码执行sql注入漏洞,我们对ecshop的user.php进行查看,在302行里我们发现了安全问题:
back_act这个变量的值来自于前端post提交方式的数据中,包含的http_referer这个函数里,这个函数可以插入恶意的sql注入代码,为什么可以插入呢?原理很简单,ecshop商城使用的模板引擎是采用smarty引擎,这个引擎在国内是比较有名的,大多数都会调用到一些常用的参数,比如assign,display这两个常用的引擎函数,由于assign的函数是需要模板执行的时候才能赋值,所以首先运行的就是smarty模板引擎,前端会读取模板文件然后将值给赋值到函数当中去,那么传递过来的值就可以插入恶意的远程执行代码,并传入到服务器端进行执行。
我们来看下模板引擎文件,如下图所示:

从上图中的函数echash,首先会调用一个user password的一个模板文件,在这个模板文件中来变量赋值,进行模板引擎的解析操作,也就是说会把引擎里的assign函数注册到变量里去,并进行模板解析,返回到insert_mod函数进行网站交互处理。
ecshop漏洞利用 使用exp代码,在post数据包中我们抓取一下,然后伪造referer:插入:
Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:
{s:3:”num”;s:72:”0,1 procedure analyse(extractvalue(rand(),concat
(0x7e,version())),1)– -“;s:2:”id”;i:1;}
这个是查询数据库版本的一个sql注入语句,执行后会返回数据到前端,如下图:


上图已经返回了数据库的版本信息,那么攻击者就可以构造远程代码执行数据库操作,上传木马后门到网站里去,并进行篡改网站即可。
ecshop 3.0版本的漏洞,是因为漏洞产生的原因在于includes目录下safety.php 文件,这个代码文件主要是限制一些恶意参数的写入,会自动匹配一些数据库查询语句,不管是加密还是都会拦截这些恶意的参数,包括数据库的执行语句,但是在整个代码的安全检测中我们发现这个ecshop3.0竟然可以执行命令,利用playload进行编码绕过,就可以执行远程命令,包括可以使用union联合查询。
ecshop 漏洞修复
关于ecshop4.0 漏洞修复我们可以对根目录下的includes文件夹下的lib_insert.php这个文件进行编写,将asrr [num]跟ID这两个值,进行强制的转换成整数型,这样导致SQL语句无法执行了,就可以修复ecshop4.0版的漏洞,那么ecshop2.7.3以及.ecshop3.0版本的网站,目前官方并没有漏洞修复补丁,建议网站运营者先将user.php改名,或者删除,并对网站进行防篡改部署,限制修改,只允许读取操作,对网站进行sql防注入部署,对http_referer里的值进行非法参数拦截,并做拦截日志记录,如果对安全不是太懂的话建议找专业的网站安全公司来修复漏洞,做好网站安全部署,国内SINE安全公司,绿盟,启明星辰,都是比较不错的安全公司。
ecshop 漏洞如何修复 补丁升级与安全修复详情的更多相关文章
- ecshop漏洞修复 以及如何加固ecshop网站安全?
由于8月份的ECSHOP通杀漏洞被国内安全厂商爆出后,众多使用ecshop程序源码的用户大面积的受到了网站被篡改,最明显的就是外贸站点被跳转到一些仿冒的网站上去,导致在谷歌的用户订单量迅速下降,从百度 ...
- [Shell]CVE-2019-0708漏洞复现及修复补丁
0x01 漏洞原理 Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广,windows2003.windows2008.windows2008 R2.windows 7 ...
- Window 远程桌面漏洞风险,各个厂家的扫描修复方案(CVE-2019-0708)
自微软公司于2019年5月14日发布远程桌面服务远程代码执行漏洞(CVE-2019-0708)安全公告后,整个业界都一直在密切关注,这个漏洞编号必将在当今网络中掀起腥风血雨.各大厂商也纷纷推出自己的修 ...
- weblogic 升级bsu_Weblogic补丁升级之坑坑洼洼
转至:https://blog.csdn.net/weixin_30682635/article/details/111911952 [概述] 虽然当前国内去IOE波涛汹涌,但不可否认OracleWe ...
- weblogic集群自动批量化补丁升级
转至:http://blog.itpub.net/28833846/viewspace-2726722/ 一.前言介绍 Weblogic是一种基于J2EE架构的中间件,用于开发.集成.部署和管理大型分 ...
- linux下通过脚本方式对中间件weblogic进行补丁升级
转至:http://bbs.learnfuture.com/topic/48 linux下通过脚本方式对中间件weblogic进行补丁升级 刘五奎 [摘要] 在运维行业,系统或软件漏洞每每牵动着每一个 ...
- oracle补丁升级
PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复.Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU ...
- 支付宝openssl漏洞肆虐 互联网巨头称目前已修复
支付宝openssl漏洞肆虐 互联网巨头称目前已修复 金山毒霸安全专家李铁军表示,这个漏洞使黑客可以远程读取https服务器的随机64KB内存,“只要这个黑客有耐心多捕获多分析那些64KB的数据,用户 ...
- 【转】:Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级
为方便截图,本文操作都在vmware虚拟机上完成. 目录: 1.操作系统安装 2.数据库安装 3.PSU补丁升级卸载 part1 操作系统安装 Oracle (Enterprise) Linux ...
随机推荐
- 爬虫入门之urllib库(一)
1 爬虫概述 (1)互联网爬虫 一个程序,根据Url进行爬取网页,获取有用信息 (2)核心任务 爬取网页 解析数据 难点 :爬虫和反爬虫之间的博弈 (3)爬虫语言 php 多进程和多线程支持不好 ja ...
- Centos7设置文件夹写入权限
用 root 账号执行chmod命令: #chmod -R 777 dirPath 参数 -R 表示递归,dirPath及其之内的所有文件夹.文件都被改变了权限. 例子: #chmod -R 777 ...
- MSMQ学习笔记一——概述
一.MSMQ是什么 Message Queuing(MSMQ) 是微软开发的消息中间件,可应用于程序内部或程序之间的异步通信.主要的机制是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为M ...
- 使用DOM Breakpoints找到修改属性的Javascript代码
使用Chrome开发者工具的DOM断点功能可以让您快速找到修改了某一个DOM元素的Javascript代码. 在Chrome开发者工具里,选中想要监控的DOM元素,点击右键,选择Break on-&g ...
- 最新DNS汇集
最近几日DNS大规模抽风,网络环境是一天比一天恶劣,于是收集了一些良心的DNS服务器地址,以备不时之需. 国内服务器: 1.OpenerDNS:42.120.21.30 2.114DNS:114.11 ...
- IOS NSLayoutConstraint 页面布局(通过代码添加约束)
#import "ViewController.h" @interface ViewController () @property (nonatomic, strong) UIVi ...
- codeforces 597C - Subsequences
枚举子序列的末尾,递推. 方案数:f[i = 以i结尾][k =子序列长度] = sum(f[j][k-1]),j < i. 转移就建立k个BIT. #include<bits/stdc+ ...
- Uva 10294 Polya
#include <bits/stdc++.h> using namespace std; typedef long long LL; int gcd(int a,int b) { ? a ...
- delete在js里为引用删除
delete 运算符从对象中删除一个属性,或从数组中删除一个元素. delete expressionexpression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素. 说明 ...
- 2018.12.25 Spring中JDBCTemplate模版API学习
1 Spring整合JDBC模版 1.1 spring中土拱了一个可以操作数据库的对象.对象封装了jdbc技术 JDBCTemplateJDBC模板对象 1.2 与DBUtils中的QueryRunn ...