ECShop全系列版本远程代码执行高危漏洞

黑客经由过程HTTP 哀求头的Referer字段植入恶意代码如下:

当黑客恶意代码成功被履行后,会考试测验造访链接:’http://uee.me/MrJc‘,详细的payload代码如下所示:

此中http-//uee.me/MrJc是一个短连接,其完备的url为:http-//www.thaihaogo.com/images/201608/4.jpg

2018年9月1日,阿里云态势感知宣布预警,近日使用ECShop全系列版本的远程代码履行破绽进行批量化进击量呈上升趋势该破绽使用简单且迫害较大年夜,黑客可经由过程WEB进击直接得到办事器权限

破绽道理

该破绽孕育发生的根滥觞基本因在于ECShop系统的user.php文件中,display函数的模板变量可控,导致注入,共同注入可达到远程代码履行的效果使得进击者无需登录等操作,直接可以得到办事器的权限

首先从user.php文件入手,代码中可以看到,系统读取HTTP_REFERER通报过来的

内容赋值给$back_act变量

(/user.php)

接着以$back_act的值为参数,调用assign措施

(/user.php)

assign措施的感化是把可控变量通报给模版函数,紧接着再经由过程display措施展示

到页面上接下来跟进display内部的insert_mod措施

(/includes/cls_template/php)

insert_mod措施返回了一个动态函数调用,该函数名和参数均可控,根据进击者

的使用措施,我们可以得知调用的函数名为insert_ads,接下来跟进这一措施

(/includes/lib_insert.php)

不难发明,$arr[‘id’]和$arr[‘num’]这两个变量,都是外部可控的输入点,在构造攻

击向量的历程中履行的SQL语句如下

(打印$sql变量)

(sql语句履行结果)

接着,法度榜样调用了fetch措施,参数由$row[‘position_style’]变量赋值,这一变量同样为外部可控输入点

(/includes/lib_insert.php)

这里fetch函数调用了危险函数,这便是终极触发破绽的点然则参数在通报之前

要颠末fetch_str措施的处置惩罚

(/includes/cls_template.php)

终极输入点依次颠末fetch_str、select、get_val,终极传入make_var措施

(/includes/cls_template.php)

终极通报到eval的字符串为:

到此,破绽道理阐发完成,进击者的恶意代码履行成功

破绽进击使用实例

阿里云态势感知于2018年8月1日监控到云上首例此破绽使用

此文件下载到成功后会重命名为1.php,实际上4.jpg文件便是一个肴杂后的php木马

去除肴杂部分,将木马履行逻辑还原如下:

该木马中的PHP代码会去下载一个功能齐备的WEB木马,地址为:http-//i.niupic.com/images/2017/05/26/Lfkavl.gif,该WEB木马的功能详情如下:

破绽影响

阿里云应急中间测试发明,ECShop全系列版本(包括2.x、3.0.x、3.6.x)均存在该远程代码履行破绽阿里云态势感知数据钻研中间监控的数据显示,该破绽使用难度低,影响面广,并已经发明有批量入侵迹象,必要存在相关营业的用户及时关注并进行修补

专家建议

在官方补丁没放出之前,我们建议站长可以改动include/lib_insert.php文件中相关破绽的代码,将$arr[id]和$arr[num]强制将数据转换成整型,该措施可作为临时修复规划将入侵风险降到最低必要改动的部分代码如下:

(includes/lib_insert.php )

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包