广告
返回顶部
首页 > 资讯 > 精选 >怎么修复ecshop漏洞
  • 142
分享到

怎么修复ecshop漏洞

2023-06-08 01:06:02 142人浏览 安东尼
摘要

这篇文章主要介绍了怎么修复ecshop漏洞,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、ECShop存在一个盲注漏洞,问题存在于/api/client/api.PHP文件

这篇文章主要介绍了怎么修复ecshop漏洞,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、ECShop存在一个盲注漏洞,问题存在于/api/client/api.PHP文件中,提交特制的恶意POST请求可进行sql注入攻击,可获得敏感信息或操作数据库
路径:/api/client/includes/lib_api.php
参照以下修改:

推荐(免费):eschop

function API_UserLogin($post){        if (get_magic_quotes_gpc())     {             $post['UserId'] = $post['UserId'];    }     else     {             $post['UserId'] = addslashes($post['UserId']);         }        $post['username'] = isset($post['UserId']) ? trim($post['UserId']) : '';

2、ecshop的后台编辑文件/admin/shopinfo.php中,对输入参数id未进行正确类型转义,导致整型注入的发生。
路径: /admin/shopinfo.php
参照以下修改(53-71-105-123行):

源代码:admin_priv('shopinfo_manage');改为:admin_priv('shopinfo_manage');$_REQUEST['id'] = intval($_REQUEST['id']);

3、文件/admin/affiliate_ck.php中,对输入参数auid未进行正确类型转义,导致整型注入的发生。
参照以下修改(31行和51行):

源代码:$logdb = get_affiliate_ck();改成:$_GET['auid'] = intval($_GET['auid']);$logdb = get_affiliate_ck();

注:好像按上面改了阿里云还是会提示这个漏洞,然后我在文件顶部处添加以下代码就可以了:

$_GET['auid'] = intval($_GET['auid']);

4、ecshop的/admin/comment_manage.php中,对输入参数sort_by、sort_order未进行严格过滤,导致SQL注入。
参照以下修改:

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

5、ecshop没有对会员注册处的username过滤,保存重的用户信息时,可以直接写入shell
路径:/admin/integrate.php
大概109行,参照以下修改:

$code = empty($_GET['code']) ? '' : trim(addslashes($_GET['code']));

大概601行,参照以下修改:

源代码:@file_put_contents(ROOT_PATH . 'data/repeat_user.php', $JSON->encode($repeat_user));修改成:@file_put_contents(ROOT_PATH.'data/repeat_user.php','<?php die();?>'.$json->encode($repeat_user));

注:好像按上面改了阿里云还是会提示这个漏洞,然后我在文件顶部处添加以下代码就可以了:

$_GET['code'] = empty($_GET['code']) ? '' : trim(addslashes($_GET['code']));

6、ecshop后台模版编译导致黑客可插入任意恶意代码。
路径:/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]. '\';';

7、ecshop过滤不严导致SQL注入漏洞。
路径:/cateGory.php 、 /ecsapi/category.php
修改方法:https://www.cnblogs.com/LittleHann/p/4524161.html

8、ecshop的/includes/lib_insert.php文件中,对输入参数未进行正确类型转义,导致整型注入的发生。
$arr['num'] 、$arr['id']、$arr['type']这些参数的,在函数开头加上:

大概289行加上:$arr['num'] = intval($arr['num']);$arr['id'] = intval($arr['id']);大概454行加上:$arr['id'] = intval($arr['id']);$arr['type'] = addslashes($arr['type']);大概495行加上:$arr['id'] = intval($arr['id']);

9、ECSHOP支付插件存在SQL注入漏洞,此漏洞存在于/includes/modules/payment/alipay.php文件中,该文件是ECshop的支付宝插件。由于ECShop使用了str_replace函数做字符串替换,黑客可绕过单引号限制构造SQL注入语句。只要开启支付宝支付插件就能利用该漏洞获取网站数据,且不需要注册登入。

搜索代码:$order_sn = str_replace($_GET['subject'], '', $_GET['out_trade_no']);将下面一句改为:$order_sn = trim(addslashes($order_sn));

Ecshop后台模版编辑漏洞
详情描述参考:Https://www.cnblogs.com/LittleHann/p/4272255.html

漏洞文件:/admin/mail_template.php 和 /includes/cls_template.php
/admin/mail_template.php文件添加以下代码(过滤了部分php关键词)

//-- 保存模板内容elseif ($_REQUEST['act'] == 'save_template'){     if (empty($_POST['subject']))    {       sys_msg($_LANG['subject_empty'], 1, array(), false);    }    else    {        $subject = trim($_POST['subject']);    }    if (empty($_POST['content']))    {       sys_msg($_LANG['content_empty'], 1, array(), false);    }    else    {        $content = trim($_POST['content']);    }    $type   = intval($_POST['is_html']);    $tpl_id = intval($_POST['tpl']);            $temp_check = preg_replace("/([^a-zA-Z0-9_]{1,1})+(extract|parse_str|str_replace|unserialize|ob_start|require|include|array_map|preg_replace|copy|fputs|fopen|file_put_contents|file_get_contents|fwrite|eval|phpinfo|assert|base64_decode|create_function|call_user_func)+( |\()/is", "", $content);    $temp_check = preg_replace("/<\?[^><]+(\?>){0,1}|<\%[^><]+(\%>){0,1}|<\%=[^><]+(\%>){0,1}|<script[^>]+language[^>]*=[^>]*php[^>]*>[^><]*(<\/script\s*>){0,1}/iU", "", $temp_check);     $content = $temp_check;        $sql = "UPDATE " .$ecs->table('mail_templates'). " SET ".                "template_subject = '" .str_replace('\\\'\\\'', '\\\'', $subject). "', ".                "template_content = '" .str_replace('\\\'\\\'', '\\\'', $content).  "', ".                "is_html = '$type', ".                "last_modify = '" .gmtime(). "' ".            "WHERE template_id='$tpl_id'";    if ($db->query($sql, "SILENT"))    {        $link[0]=array('href' => 'mail_template.php?act=list', 'text' => $_LANG['update_success']);        sys_msg($_LANG['update_success'], 0, $link);    }    else    {         sys_msg($_LANG['update_failed'], 1, array(), false);    }}

/includes/cls_template.php文件替换函数(fetch_str()):

function fetch_str($source)    {         if (!defined('ECS_ADMIN'))        {            $source = $this->smarty_prefilter_preCompile($source);        }        $source=preg_replace("/([^a-zA-Z0-9_]{1,1})+(copy|fputs|fopen|file_put_contents|fwrite|eval|phpinfo)+( |\()/is", "", $source);        $source=preg_replace("/<\?[^><]+\?>|<\%[^><]+\%>|<script[^>]+language[^>]*=[^>]*php[^>]*>[^><]*<\/script\s*>/iU", "", $source);        return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);        //return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);//修饰符 /e 在 PHP5.5.x 中已经被弃用了    }

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么修复ecshop漏洞”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 怎么修复ecshop漏洞

本文链接: https://www.lsjlt.com/news/250780.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么修复ecshop漏洞
    这篇文章主要介绍了怎么修复ecshop漏洞,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、ECShop存在一个盲注漏洞,问题存在于/api/client/api.php文件...
    99+
    2023-06-08
  • Ecshop pages.lbi.php Xss漏洞怎么修复
    小编给大家分享一下Ecshop pages.lbi.php Xss漏洞怎么修复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前段...
    99+
    2022-10-19
  • ecshop漏洞如何修复
    使用电脑管家修复ecshop漏洞,具体方法如下:首先,在计算机中下载并安装好电脑管家;电脑管家安装好后,并进入;进入到电脑管家页面后,在页面左侧菜单栏中点击“工具箱”选项;在弹出的工具箱页面中,点击“修复漏洞”选项;进入到修复漏洞页面后,在...
    99+
    2022-10-13
  • ecshop漏洞复现分析
    ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。 ecshop漏洞复现分析我看seebug上关于它的漏洞有好多。 xianzhi-2017-02-8...
    99+
    2023-09-12
    php 安全 数据库
  • 关于ECSHOP中sql注入漏洞修复
    公司部署了一个ecshop网站用于做网上商城使用,部署在阿里云服务器上,第二天收到阿里云控制台发来的告警信息,发现ecshop网站目录下文件sql注入漏洞以及程序漏洞如下图:与技术沟通未果的情况下,网上查了...
    99+
    2022-10-18
  • web漏洞怎么修复
    修复web漏洞的方法一、SQL注入漏洞对进入数据库的特殊字符进行编码转换或转义处理;确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型;严格规定数据长度,防止比较长的SQL注入语句无法正确执行;严格限制用...
    99+
    2022-10-08
  • Netlogon漏洞怎么修复
    修复Netlogon漏洞的方法首先,在计算机中右键点击“开始”,选择打开“控制板面”;进入到控制版面后,在控制版面中进入“系统和安全”选项;在弹出的系统和安全界面中,选择“windows update”中的“启用或禁用自动更新”选项;最后,...
    99+
    2022-10-24
  • nginx漏洞怎么修复
    修复nginx漏洞的方法首先,在计算机中卸载nginx;yum remove nginxnginx卸载好后,重新下载nginx包;wget http://nginx.org/packages/centos/7/noarch/RPMS/ngi...
    99+
    2022-10-06
  • rce漏洞怎么修复
    使用电脑管家修复rce漏洞,具体方法如下:首先,在计算机中下载并安装好电脑管家;电脑管家安装好后,并进入;进入到电脑管家页面后,在页面左侧菜单栏中点击“工具箱”选项;在弹出的工具箱页面中,点击“修复漏洞”选项;进入到修复漏洞页面后,在页面中...
    99+
    2022-10-17
  • csrf漏洞怎么修复
    使用Java对csrf漏洞进行修复,具体方法如下:package referer;import java.io.IOException;import javax.servlet.ServletException;import javax.s...
    99+
    2022-10-23
  • ewebeditor漏洞怎么修复
    修复ewebeditor漏洞的步骤如下:1. 确定漏洞的具体细节和影响范围:通过对漏洞的分析和测试,了解漏洞的具体原因和可能造成的危...
    99+
    2023-09-21
    ewebeditor
  • ubuntu漏洞怎么修复
    这篇文章主要介绍了ubuntu漏洞怎么修复的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ubuntu漏洞怎么修复文章都会有所收获,下面我们一起来看看吧。首先,在buntu10.1中使用组合键“ctrl+alt+...
    99+
    2023-07-04
  • kindeditor漏洞怎么修复
    修复KindEditor漏洞主要有以下几个方法:1. 更新KindEditor版本:开发者应及时关注官方发布的更新,下载并应用最新版...
    99+
    2023-08-19
    kindeditor
  • ms17-010漏洞怎么修复
    修复ms17-010漏洞的方法一、关闭445端口首先,在计算机中使用组合键“win+R”运行“regedit”,打开注册表;进入到注册表页面后,在注册表中依次查找到以下文件;HKEY_LOCAL_MACHINE\System\Control...
    99+
    2022-10-20
  • php怎么修复xss漏洞
    使用php对xss漏洞进行修复,具体方法如下:function search($query, $page){global $db, $bgcolor2, $bgcolor4, $sitename, $io_db, $module_url, ...
    99+
    2022-10-11
  • apache log4j漏洞怎么修复
    Apache Log4j漏洞的修复方法如下:1. 更新Log4j版本:更新Log4j至2.16.0或更高版本,该版本已修复漏洞。2....
    99+
    2023-06-12
    apache log4j漏洞 apache
  • 漏洞修复了怎么删除
    使用360安全卫士删除已修复漏洞的方法首先,在计算机中进入360安全卫士主页,并在主页面中点击左下角的“查杀病毒”选项;进入到查杀病毒页面后,在页面中点击“漏洞修复”选项;在漏洞修复页面中,点击左下角“补丁管理”选项;最后,进入补丁管理页面...
    99+
    2022-10-16
  • atml字体漏洞怎么修复
    使用360安全卫士修复atml字体漏洞,具体方法如下:首先,在计算机中下载并安装好360安全卫士,并打开;进入到360安全卫士界面后,在界面中点击“系统修复”选项;在弹出的系统修复界面中,点击右侧的“单项修复”按钮,并在下拉中选择“漏洞修复...
    99+
    2022-10-19
  • iis7解析漏洞怎么修复
    修复iis7解析漏洞的方法首先,计算机中使用组合键“win+R”运行“Inetmgr”,打开iis管理器;进入到iis管理器页面后,在页面中查找到对应的站点,并进入站点映射;在编辑模块映射页面中,点击进入“请求限制”选项;最后,进入到请求限...
    99+
    2022-10-12
  • tomcatajp协议漏洞怎么修复
    修复tomcatajp协议漏洞的方法有以下几种禁用ajp协议端口[root@host1 ~]# vim conf/server.xml<Connector port="8009&quo...
    99+
    2022-10-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作