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全系列版本,截至目前,官方尚未颁布关于缝隙的新闻及补丁,现阶段利用该缝隙执行批量化攻击的数量正呈上升趋向。
缝隙验证
接着,$back_act变量被assign函数挪用,assign函数用于将表部变量传递给模板函数,而后通过display函数将之显示在页面上。
在/include/cls_template.php文件中找到display函数,该函数中有一个insert_mod函数是关键。
insert_mod函数在1150行,该函数返回一个动态挪用,凭据PoC的细节,我们能够得知挪用的函数名是insert_ads。
跟进insert_ads函数,该函数存在于/include/lib_insert.php文件中:
能够从PoC中发现,$arr['id']和$arr['num']这两个变量,都是表部可控的输入点,在机关攻击向量的过程中用于执行SQL语句。而在函数的最后,挪用了fetch函数,该函数是代码执行中缝隙触发的点。
首先凭据提醒装置好ECShop环境(2.7.3版本),而后复现该缝隙,通过Brup Suite抓包新增Referer字段以及Payload后,得到响应包,复现该缝隙,在响应页面成功打印出SQL语句。
而后利用SQL注入缝隙,来复现写入webshell的操作,首先攻击同样是批改Referer字段中的值,参与机关好的PoC,用SQL语句进行号令注入�D芄豢吹阶钪赵诟柯枷绿焐藈ebshell,webshell为1.php文件。
影响领域
建复建议
一时处置方式能够批改include/lib_insert.php文件中有关缝隙的代码,将$arr[id]和$arr[num]强造将数据转换成整型,$arr[id]和$arr[num]前参与intval限度。必要批改的处所为:
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/


京公网安备11010802024551号