ecshop

ecshop 全系列版本网站漏洞 远程代码执行sql注入漏洞

自古美人都是妖i 提交于 2019-12-01 19:21:54
ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0、3.6、4.0版本都受此次ecshop漏洞的影响,主要漏洞是利用远程代码执行sql注入语句漏洞,导致可以插入sql查询代码以及写入代码到网站服务器里,严重的可以直接获取服务器的管理员权限,甚至有些网站使用的是虚拟主机,可以直接获取网站ftp的权限,该漏洞POC已公开,使用简单,目前很多商城网站都被攻击,危害较大,针对于此我们SINE安全对该ECSHOP漏洞的详情以及如何修复网站的漏洞,及如何部署网站安全等方面进行详细的解读。 ecshop漏洞产生原因 全系列版本的ecshop网站漏洞,漏洞的根源是在网站根目录下的user.php代码,在调用远程函数的同时display赋值的地方可以直接插入恶意的sql注入语句,导致可以查询mysql数据库里的内容并写入数据到网站配置文件当中,或者可以让数据库远程下载文件到网站目录当中去。 ​此referer里的内容就是要网站远程下载一个脚本大马,下载成功后会直接命名为SINE.php,攻击者打开该文件就可以执行对网站的读写上传下载等操作,甚至会直接入侵服务器,拿到服务器的管理员权限。 ecshop漏洞修复 目前ecshop官方并没有升级任何版本,也没有告知漏洞补丁

重构ECShop中的Javascript(一)

戏子无情 提交于 2019-12-01 18:32:12
ECShop一直有一个很大的问题,就是其自带的JS脚本和jQuery为主的不少使用非常多的JS框架冲突,这个冲突导致了我们在制作ECShop模板的时候,很多优秀的界面效果无法实现。可以说是ECShop最让人诟病的地方。 在网上搜索了几天后,尝试了网上各种不同的解决方案后,发现部分解决方案只是针对某一部分ECShop的版本有效,而在新版中原本有效的解决方案再次失效,或者是只能解决部分jQuery使用的问题,但比较复杂的功能还是会冲突。最后一怒之下,决定一劳永逸地解决这个该死的冲突问题。 我的主要思路是,其实ECShop这些JS的主要功能中,基本上都可以被jQuery的功能替代,或者重写,也正是因为相同功能的不同实现在两部分中同时存在,才引发了这么多冲突。所以,只要把我需要的JS功能用jQuery重写,这个问题也就不存在了。 首先,我们需要先确定到底是哪些功能引起了冲突,这里我不能,也没有时间解决全部问题,因此,提出的仅仅是一个思路,和解决我所遇到的那一部分问题。如果在其他地方冲突,大家可以根据情况自行修改。 在制作模板的时候,我遇到的最大的问题就是在商品列表页和商品显示两个页面的模板中的添加购物车功能的Javascript与jQuery冲突。所以,我们先看看这个添加购物车的功能,究竟干了什么。在firebug中追踪添加购物车后的通讯,结果如下: 服务器端的回复如下: 随后

ECSHOP广告时间更加精确到时分秒

杀马特。学长 韩版系。学妹 提交于 2019-12-01 14:34:55
首先这是一个很生僻的问题,只是近日有人问到此类问题。所以写了出来。 原问题好像是问“ ECSHOP广告位的上线时间能不能具体到某个小时? ” 大家都知道, ECSHOP后台 里,碰到选择时间的地方默认只能选择“年月日”,那么能不能更精确点,让它能选择“X年X月X日 12点20分 ” 这种格式的时间呢。 答案是肯定的,下面先来看一下效果图 后台很多地方有选择日期的地方,这里以“广告的开始日期和结束日期”为例来讲一下,怎么让他精确到几点几分 1)、 首先要来修改 /js/calendar/calendar.js (注意是根目录下的JS文件夹) 将 this.showsTime = false; 修改为 this.showsTime = true; 2)、 接着修改 /admin/templates/ads_info.htm 文件 搜索 %Y-%m-%d 一共能搜索到两处,将这两处都改为 %Y-%m-%d %H:%M 这样就大功告成了,其他地方的选择日期可以参照上面过程,同理修改 来源: oschina 链接: https://my.oschina.net/u/1024297/blog/301283

ECSHOP后台密码忘记了怎么办

℡╲_俬逩灬. 提交于 2019-11-30 15:07:52
在ECSHOP论坛里或ECSHOP技术交流群里, 经常看到一些ECSHOP用户(特别是一些新手朋友)由于各种原因将后台管理密码丢失了或者被别人恶意篡改了, 碰到这种情况该怎么办呢? 因为ECSHOP的管理员密码是加密后保存在数据库里的,要想找回原来的密码,希望不是很大, 但是我们可以通过某种途径来修改管理员密码。 本文总结了一些可用的修改ECSHOP后台管理员密码的方法 1)、获取MYSQL管理地址,也就是phpMyAdmin的地址,一般的虚拟主机商都会提供的,如不清楚可咨询您的虚拟主机服务商。 如果您是独立服务器用户,可以自行上传一个 phpMyAdmin (phpMyAdmin 下载地址:点击这里下载) 2)、选择您的数据库,如下图: 3)、选择管理员数据表,如下图: 4)、找到你想修改的管理员,点击前面的 ,进入修改界面,如下图: 注意PASSWORD哪一行,函数选择 MD5 , 然后在后面的输入框里输入你想要的新密码(如:12345) 即可。 点击“执行”进行保存,然后你就可以使用 新密码 12345 登陆后台管理了。 来源: oschina 链接: https://my.oschina.net/u/1024297/blog/299936

ecshop 漏洞如何修复 补丁升级与安全修复详情

。_饼干妹妹 提交于 2019-11-30 15:07:37
目前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模板引擎,前端会读取模板文件然后将值给赋值到函数当中去,那么传递过来的值就可以插入恶意的远程执行代码,并传入到服务器端进行执行。 我们来看下模板引擎文件

ecshop自定义调用首页轮播图

烈酒焚心 提交于 2019-11-29 12:09:40
在调用首页轮播图的时候,发现首页轮播图的路径数据并没有放在数据库中,折腾了好一会儿,发现,其实无论数据放在哪儿,只要能够取出来循环就ok了, (PS:预计首页轮播图是放的缓存或者用的其他形式的数据保存了的.) so,直接循环出图片路径就好了,不用管数据是怎么取的,至于怎么循环,,这个就很简单了. <!--{foreach from=$flash name=myflash item=flash}--> <div class="swiper-slide"> <img src="{$flash.src}"/> </div> <!--{/foreach}--> 来源: oschina 链接: https://my.oschina.net/u/3360064/blog/1537408

ecshop 左侧菜单栏添加

你。 提交于 2019-11-29 02:02:33
在后台中增加 “活动管理”功能,方法如下 在ECSHOP 管理中心共用语言文件 language\zh_cn\admin\commn.php ,添加我们的自定义菜单: $_LANG['17_activity'] ='活动管理'; $_LANG['01_activity_biotin'] = '最新活动'; 在 ECSHOP 管理中心菜单数组, admin\includes\inc_menu.php为我们的自定义菜单添加操作链接 $modules['17_activity']['01_activity_biotin'] = 'acrivity_biotin.php?act=list';    运行在此步,就可以看到该菜单了。 接下来的改动控制权限的 在 ECSHOP 权限名称语言文件 language\zh_cn\admin\priv_action.php,添加菜单语言 $_LANG['activity'] = '活动管理'; $_LANG['activity_biotin'] = '最新活动'; 在ECSHOP 权限对照表 admin\includes\inc_priv.php 添加 $purview['17_activity'] = 'activity2'; 在esc_admin_action表中插入新的权限记录 如果是主菜单则 parent_id 不写即可。

ecshop数据库操作

房东的猫 提交于 2019-11-27 15:44:50
ecshop 好处:实现非常轻量,只有一个文件,27Kb,大大减小了分发包的文件大小。 当网站需要做memcached缓存时,也可以很方便的实现。 缺点:数据库的选择非常狭窄,无法实现其它的非MySQL数据库。 ECShop的数据操作类文件是includes/cls_mysql.php,类名是cls_mysql。该类主要提供了下面 一些比较有用的方法: getAll($sql)和getAllCached($sql, $cached = 'FILEFIRST'):获取所有记录。 getRow($sql, $limited = false)和getRowCached($sql, $cached = 'FILEFIRST'):获取单行记录。 getCol($sqlse)和getColCached($sql, $cached = 'FILEFIRST'):获取某栏位的所有值。 getOne($sql, $limited = false)和getOneCached($sql, $cached = 'FILEFIRST'):获取单个数值。 query($sql):执行数据库查询。 autoExecute($table, $field_values, $mode = 'INSERT', $where = ''):数据库表操作。    来源: https://www.cnblogs.com

ECshop彻底去版权(同时适用于2.7.3)

柔情痞子 提交于 2019-11-27 02:52:05
前台部分: 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop 前者”ECSHOP演示站”在后台商店设置 – 商店标题修改 后者” Powered by ecshop”打开includes/lib_main.php $page_title = $GLOBALS['_CFG']['shop_title'] . ‘ – ‘ . ‘Powered by ECShop’; 修改这里的’Powered by ECShop 2.去掉友情链接部分 ECSHOP 和 [免费申请网店] 在后台的友情链接管理里修改 3.去掉底部的Powered by Ecshop v 2.7.3 打开 js/common.js 也是版权乱飞的去除方法 删除第244行:onload = function() 第244行函数如下: onload = function() { var link_arr = document.getElementsByTagName(String.fromCharCode(65)); var link_str; var link_text; var regg, cc; var rmd, rmd_s, rmd_e, link_eorr = 0; var e = new Array(97, 98, 99, 100, 101, 102, 103, 104, 105,