1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

ECShop支付插件SQL注入漏洞,快打补丁

本帖由 halazi12342013-02-21 发布。版面名称:源码讨论

  1. halazi1234

    halazi1234 New Member

    注册:
    2013-02-21
    帖子:
    1
    赞:
    0
      近日,360网站安全检测平台独家发现网店系统ECShop支付宝插件存在高危0day漏洞。黑客可利用SQL注入绕过系统限制获取网站数据,进而实施“拖库”窃取网站资料。由于ECShop与电子商务关系密切,涉及网上钱财交易,一旦该漏洞被大范围利用,将造成严重后果。对此,360已于第一时间向ECShop通报了该漏洞细节并协助推出了官方修复补丁。
      ECShop是一款热门的B2C网店建站系统,国外很多知名企业和个人用户都在使用ECShop建立电商网站。据悉,360此次发现的漏洞存在于所有版本的ECShop系统中,大量电商网站面临被拖库的风险。
      据360安全工程师分析,此次出现的ECShop系统SQL注入漏洞存在于/includes/modules/payment/alipay.php文件中,该文件是ECshop的支付宝插件。由于ECShop使用了str_replace函数做字符串替换,黑客可绕过单引号限制构造SQL注入语句。只要开启支付宝支付插件就能利用该漏洞获取网站数据,且不需要注册登入。GBK与UTF-8版本ECshop均存在此漏洞。
      目前,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官方补丁程序下载地址(推荐):
      hXXp://bbs.ecshop.com/viewthread.php?tid=1125380&extra=page=1&orderby=replies&filter=172800