Ecshop防黑,第1张


Ecshop防黑(本文主要讲解Ecshop安装后出现的一些防黑问题)





一:确保ecshop模板是从正规途径获取,如果是不正当地址下载的,那可要小心了。模板基本无售后,而且容易被放一些木马或者后门,进入后台加暗链或者偷数据,根本难以察觉。
 

二:将后台密码设置成11位或者以上,再设置你的管理员姓名为中文,这样可以防止黑客通过md5解码获取你的后台
 

三:修改后台登陆路径,将admin文件夹名称 改成任意名称,比如ecmoban,再打开data/config.php这个文件 将里面的admin字样 也改成任意名称,比如ecmoban。那么你就可以从网站/ecmoban这个路径访问了
 

四:进入后台删除默认的、多余的管理员账号,最好只留一个主管理员账号
 

五:进后台 商店设置 - 基本设置 里面的附件上传大小 选择“0”,这样是为了防止就算进入后台 也很难上传木马附件等
 

六:随时关注官方论坛公告,及时更新补丁
 



防黑代码修改
 

1、ecshop的/includes/lib_insert.php文件中,对输入参数未进行正确类型转义,导致整型注入的发生。

修复方法:给insert_ads函数内加入下面代码

$arr['num'] = intval($arr['num']);

$arr['id'] = intval($arr['id']);

$arr['type'] = addslashes($arr['type']);


2、ECShop存在一个盲注漏洞,问题存在于/api/client/api.php文件中,提交特制的恶意POST请求可进行SQL注入攻击,可获得敏感信息或操作数据库。

修复方法:给API_UserLogin函数加入下面代码

if (get_magic_quotes_gpc())

  {
      $post['UserId'] = $post['UserId']
        }
  else
  {    
            $post['UserId'] = addslashes($post['UserId']);
  }



3、ecshop的后台编辑文件/admin/article.php等中,对输入参数$_POST[‘id’]未进行正确类型转义,导致整型注入的发生。

修复方法:分别给其中的if ($_REQUEST['act'] == 'update')部分加入下面代码

$_POST['id'] = intval($_POST['id']);


4、ecshop没有对会员注册处/admin/integrate.php的username过滤,保存重的用户信息时,可以直接写入shell。

修复方法:将$code = empty($_GET['code']) ? '' : trim($_GET['code']);替换为下面代码

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


5. ecshop文件/admin/affiliate_ck.php中,对输入参数auid未进行正确类型转义,导致整型注入的发生。

修复方法给其公共部分加入下面代码

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


6、ecshop的/admin/comment_manage.php中,对输入参数sort_by、sort_order未进行严格过滤,导致SQL注入。

修复方法:将其get_comment_list函数内的$filter['sort_by']、$filter['sort_order']修改为下面代码

$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']));


7、ECSHOP支付插件存在SQL注入漏洞,此漏洞存在于/includes/modules/payment/alipay.php文件中,该文件是ECshop的支付宝插件。

由于ECShop使用了str_replace函数做字符串替换,黑客可绕过单引号限制构造SQL注入语句。

只要开启支付宝支付插件就能利用该漏洞获取网站数据,且不需要注册登入。

修复方法:将$order_sn = trim($order_sn);替换为下面代码

$order_sn = trim(addslashes($order_sn));


8、漏洞成因在于user.php文件会直接带入SQL语句操作数据库的用户可控变量。

由于ECShopGBK版本采用GBK编码(宽字符编码),攻击者可通过传入半个字符的方式绕过对单引号的转义,故导致SQL注入漏洞。

修复方法:给$username = json_str_iconv($username);下方加入下面代码

$username = str_replace('/', '', stripslashes($username));




DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Ecshop防黑

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情