ECShop远程代码执行缝隙安全公告

颁布功夫 2018-09-04

缝隙编号和级别


CVE编号:无,,,,, ,,危险级别:高危,,,,, ,,CVSS分值:官方未评定


影响版本


ECShop 2.x、ECShop 3.x


缝隙概述


ECShop是一款B2C独立网店系统,,,,, ,,适合企业及幼我急剧构建个性化网上商店。。。。。系统是基于PHP说话及MySQL数据库构架开发的跨平台开源法式。。。。。该网店系统大量用于幼我网店搭建。。。。。ECShop开发了独有的高效模板引擎(2.15以前版本使用smarty模板引擎),,,,, ,,并结合了Dreamweaver的模板和库职能,,,,, ,,使得编纂造作模板变得更单一。。。。。用户可凭据自己的需要对ECShop进行定造和扩大。。。。。


该缝隙产生的底子原因在于ECShop系统的user.php文件中,,,,, ,,display函数的模板变量可控,,,,, ,,导致注入,,,,, ,,共同注入可达到远程代码执行的成效。。。。。使得攻击者无需登录等操作,,,,, ,,直接能够获得服务器的权限。。。。。攻击者可利用该缝隙直接获取到服务器的最高权限。。。。。该缝隙影响ECShop全系列版本,,,,, ,,截至目前,,,,, ,,官方尚未颁布关于缝隙的新闻及补丁,,,,, ,,现阶段利用该缝隙执行批量化攻击的数量正呈上升趋向。。。。。


缝隙验证


缝隙的本原在user.php中,,,,, ,,先看/user.php中的login操作,,,,, ,,能够看到该处代码中的308行用于读取HTTP_REFERER传递的数据,,,,, ,,而后将该数据被赋值给$back_act变量。。。。。


8827太阳集团(Macau)股份有限公司-Official website


接着,,,,, ,,$back_act变量被assign函数挪用,,,,, ,,assign函数用于将表部变量传递给模板函数,,,,, ,,而后通过display函数将之显示在页面上。。。。。


8827太阳集团(Macau)股份有限公司-Official website


在/include/cls_template.php文件中找到display函数,,,,, ,,该函数中有一个insert_mod函数是关键。。。。。


8827太阳集团(Macau)股份有限公司-Official website


insert_mod函数在1150行,,,,, ,,该函数返回一个动态挪用,,,,, ,,凭据PoC的细节,,,,, ,,我们能够得知挪用的函数名是insert_ads。。。。。


8827太阳集团(Macau)股份有限公司-Official website


跟进insert_ads函数,,,,, ,,该函数存在于/include/lib_insert.php文件中:


8827太阳集团(Macau)股份有限公司-Official website


能够从PoC中发现,,,,, ,,$arr['id']和$arr['num']这两个变量,,,,, ,,都是表部可控的输入点,,,,, ,,在机关攻击向量的过程中用于执行SQL语句。。。。。而在函数的最后,,,,, ,,挪用了fetch函数,,,,, ,,该函数是代码执行中缝隙触发的点。。。。。

8827太阳集团(Macau)股份有限公司-Official website


fetch函数中,,,,, ,,存在eval,,,,, ,,该函数就是最终缝隙执行的处所,,,,, ,,在参数经过fetch_str函数的处置后,,,,, ,,最终被执杏祝。。。。


8827太阳集团(Macau)股份有限公司-Official website


首先凭据提醒装置好ECShop环境(2.7.3版本),,,,, ,,而后复现该缝隙,,,,, ,,通过Brup Suite抓包新增Referer字段以及Payload后,,,,, ,,得到响应包,,,,, ,,复现该缝隙,,,,, ,,在响应页面成功打印出SQL语句。。。。。


8827太阳集团(Macau)股份有限公司-Official website


而后利用SQL注入缝隙,,,,, ,,来复现写入webshell的操作,,,,, ,,首先攻击同样是批改Referer字段中的值,,,,, ,,参与机关好的PoC,,,,, ,,用SQL语句进行号令注入。。。。�???????D芄豢吹阶钪赵诟柯枷绿焐藈ebshell,,,,, ,,webshell为1.php文件。。。。。


8827太阳集团(Macau)股份有限公司-Official website


影响领域


国内露出在公网的ECShop数量较大,,,,, ,,必要高度器沉。。。。。

8827太阳集团(Macau)股份有限公司-Official website


建复建议


一时处置方式能够批改include/lib_insert.php文件中有关缝隙的代码,,,,, ,,将$arr[id]和$arr[num]强造将数据转换成整型,,,,, ,,$arr[id]和$arr[num]前参与intval限度。。。。。必要批改的处所为:


8827太阳集团(Macau)股份有限公司-Official website


ECShop 3.6.0建复了以上缝隙,,,,, ,,因而建议尽快更新至最新的3.6.0版本。。。。。


参考链接
http://ringk3y.com/2018/08/31/ecshop2-x%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C/