ECShop曝高危SQL注入漏洞

时间:2012-11-05 11:44

日前,第三方漏洞报告平台乌云曝出国内知名网店系统ECShopGBK版本存在高危SQL注入漏洞,(http://www.wooyun.org/bugs/wooyun-2010-012466),黑客利用此漏洞可获得管理员账号密码,窃取网站数据。360网站安全检测平台对注册网站检测发现,国内3000余个网站存在此漏洞,是近期流行度最高的漏洞之一。目前,360已独家提供了应对该漏洞的临时解决方案。

360网站安全检测平台网址:http://webscan.360.cn

ECShop是一款基于PHP与MYSQL开发的B2C网店系统,国内大量企业及个人用户使用ECShop建立网上商店。360安全专家表示,目前使用ECShop GBK版本的所有网站,都存在这一SQL注入漏洞,漏洞的文件为user.php。

图1:ECShop程序中的user.php中过滤不严导致漏洞

        360安全专家分析发现,漏洞成因在于user.php文件会直接带入SQL语句操作数据库的用户可控变量。由于ECShop GBK版本采用GBK编码(宽字符编码),攻击者可通过传入半个字符的方式绕过对单引号的转义,故而导致可执行任意构造的SQL注入语句。此外,程序对magic_quotes_gpc是否开启也做出了判断,攻击者可利用相同注入语句进行注入,并通过MD5解密工具对MD5密文进行破解得到明文账号密码,从而窃取网站任意数据。

图2:宽字节SQL注入利用漏洞

由于ECShop官方尚未针对此高危SQL注入漏洞发布修复补丁,所以360网站安全检测平台已不仅第一时间向旗下网站发出警告邮件,还同时提供了临时解决方案(附录),建议站长和网站管理员尽快手动修复,同时推荐使用360网站安全检测平台和360网站卫士,随时掌握网站安全状况。

附:360独家提供的临时解决方案:

在user.php文件的第276行,增加下面一行语句:

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