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