网站地图    收藏   

主页 > 后端 > 网站安全 >

ECShop支付插件0day漏洞及修复方案 - 网站安全 - 自

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] 近日,360网站安全检测平台独家发现网店系统ECShop支付宝插件存在高危0day漏洞。黑客可利用SQL注入绕过系统限制获取网站数据,进而实施拖库窃取网站资料。由于ECShop与电子商务关系密...

近日,360网站安全检测平台独家发现网店系统ECShop支付宝插件存在高危0day漏洞。黑客可利用SQL注入绕过系统限制获取网站数据,进而实施“拖库”窃取网站资料。由于ECShop与电子商务关系密切,涉及网上钱财交易,一旦该漏洞被大范围利用,将造成严重后果。对此,360已于第一时间向ECShop通报了该漏洞细节并协助推出官方修复补丁

ECShop是一款热门的B2C网店建站系统,国外很多知名企业和个人用户都在使用ECShop建立电商网站。据悉,360此次发现的漏洞存在于所有版本的ECShop系统中,大量电商网站面临被拖库的风险。

 

图1:黑客可用str_replace函数绕过单引号限制实施SQL注入

据360安全工程师分析,此次出现的ECShop系统SQL注入漏洞存在于/includes/modules/payment/alipay.php文件中,该文件是ecshop的支付宝插件。 由于ECShop使用了str_replace函数做字符串替换,黑客可绕过单引号限制构造SQL注入语句。 只要开启支付宝支付插件就能利用该漏洞获取网站数据,且不需要注册登入。GBK与UTF-8版本ECshop均存在此漏洞。

 

 


图2:构造SQL语句可查询后台管理用户密码

目前,ECShop官网已经发布官方修复程序。360网站安全检测平台也第一时间向注册用户发送了告警邮件,提醒用户尽快打补丁,防止黑客拖库攻击。同时,360安全工程师建议网站管理员及个人站长使用360网站安全检测平台对网站进行全面体检,掌握网站安全状况,并使用360网站卫士防御黑客攻击。

临时解决方案:

1.关闭支付宝插件

2.修改/includes/modules/payment/alipay.php文件中

$order_sn = str_replace($_GET['subject'], '',$_GET['out_trade_no']);

$order_sn = trim($order_sn);

修改成如下代码

$order_sn = str_replace($_GET['subject'], '',$_GET['out_trade_no']);

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

 

ECShop官方补丁程序下载地址(推荐):

http://bbs.ecshop.com/viewthread.php?tid=1125380&extra=page=1&orderby=replies&filter=172800


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论