eWebEditor:网站中的隐形炸弹

站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就获得了WebShell。后来又有好几次利用eWebEditor进行入侵的成功经历,这才想起应该写一篇文章和大家共享一下,同时也请广大已经使用了eWebEditor的站长赶紧检查一下自己的站点。要不然,下一个被黑的就是你哦!

漏洞利用 
利用eWebEditor获得WebShell的步骤大致如下: 
1.确定网站使用了eWebEditor。一般来说,我们只要注意发表帖子(文章)的页面是否有类似做了记号的图标,就可以大致做出判断了。 
2.查看源代码,找到eWebEditor的路径。点击“查看源代码”,看看源码中是否存在类似“<iframe ID='eWebEditor1' src='/edit/ewebeditor.asp?id=content&style=web' frameborder=0 scrolling=no width='550' HEIGHT='350'></iframe>”的语句。其实只有发现了存在这样的语句了,才可以真正确定这个网站使用了eWebEditor。然后记下src='***'中的“***”,这就是eWebEditor路径。 
3.访问eWebEditor的管理登录页面。eWebEditor的默认管理页面为admin_login.asp,和ewebeditor.asp在同一目录下。以上面的路径为例,我们访问的地址为:http://www.***.net/edit/admin_login.asp,看看是否出现了登录页面。 
如果没有看到这样的页面,说明管理员已经删除了管理登录页面,呵呵,还等什么,走人啊,换个地方试试。不过一般来说,我很少看到有哪个管理员删了这个页面,试试默认的用户名:admin,密码:admin888。怎么样?成功了吧(不是默认账户请看后文)! 
4.增加上传文件类型。点击“样式管理”,随便选择列表中底下的某一个样式的“设置,为什么要选择列表中底下的样式?因为eWebEditor自带的样式是不允许修改的,当然你也可以拷贝一个新的样式来设置。

然后在上传的文件类型中增加“asa”类型。

5.上传ASP木马,获得WebShell。接下来将ASP木马的扩展名修改为asa,就可以简单上传你的ASP木马了。不要问我怎么上传啊,看到 “预览” 了吗?点击“预览”,然后选择“插入其它文件”的按钮就可以了。

漏洞原理 
漏洞的利用原理很简单,请看Upload.asp文件: 
任何情况下都不允许上传asp脚本文件 
sAllowExt = Replace(UCase(sAllowExt), "ASP", "") 
因为eWebEditor仅仅过滤了ASP文件。记得我第一次使用eWebEditor时就在纳闷:既然作者已经知道asp文件需要过滤,为什么不同时过滤asa、cer等文件呢?也许这就是对免费用户不负责任的表现吧!

高级应用 
eWebEditor的漏洞利用还有一些技巧: 
1.使用默认用户名和密码无法登录。 
请试试直接下载db目录下的ewebeditor.mdb文件,用户名和密码在eWebEditor_System表中,经过了md5加密,如果无法下载或者无法破解,那就当自己的运气不好了。 
2.加了asa类型后发现还是无法上传。 
应该是站长懂点代码,自己修改了Upload.asp文件,但是没有关系,按照常人的思维习惯,往往会直接在sAllowExt = Replace(UCase(sAllowExt), "ASP", "")一句上修改,我就看见过一个站长是这样修改的: 
sAllowExt = Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt), "ASP", ""), "CER", ""), "ASA", ""), "CDX", ""), "HTR", "") 
猛一看什么都过滤了,但是我们只要在上传类型中增加“aaspsp”,就可以直接上传asp文件了。呵呵,是不是天才的想法?“aaspsp”过滤了“asp”字符后,反而变成了“asp”!顺便告诉大家一个秘密,其实动网论坛7.0 sp2中也可以利用类似的方法绕过对扩展名的过滤。 
3.上传了asp文件后,却发现该目录没有运行脚本的权限。 
呵呵,真是好笨啊,上传类型可以改,上传路径不是也可以修改的吗?仔细看看图四。 
4.已经使用了第2点中的方法,但是asp类型还是无法上传。 
看来站长肯定是一个写asp的高手,但是我们还有最后一招来对付他:看到图三中的“远程类型”了吗?eWebEditor能够设定自动保存远程文件的类型,我们可以加入asp类型。但是如何才能让远程访问的asp文件能够以源码形式保存呢?方法是很多的,最简单的方法是将IIS中的“应用文件映射”中的“asp”删除。

后记 
根据自己的经验,几乎只要能进入eWebEditor的后台管理,基本上都可以获得WebShell。在Google上搜索“ewebeditor.asp?id=”能够看到长达十多页的相关信息,我大致抽查了其中几个,发现成功率约为50%。还不错吧?oblg 2.52版以前的版本也是使用eWebEditor,可以去搜索几个来练练手。要命的是eWebEditor的官方网站和帮助文件中根本没有这方面的安全提示。还有,我发现官方提供的测试系统并不存在类似的漏洞,看来不是他们不知道,而是没有把免费用户的网络安危放在心上!

(0)

相关推荐

  • eWebEditor:网站中的隐形炸弹

    站长在使用eWebEditor的时候是否发现,eWebEditor配置不当会使其成为网站中的隐形炸弹呢?第一次发现这漏洞源于去年的一次入侵,在山穷水尽的时候发现了eWebEditor,于是很简单就获得了WebShell.后来又有好几次利用eWebEditor进行入侵的成功经历,这才想起应该写一篇文章和大家共享一下,同时也请广大已经使用了eWebEditor的站长赶紧检查一下自己的站点.要不然,下一个被黑的就是你哦! 漏洞利用  利用eWebEditor获得WebShell的步骤大致如下:  1.

  • 网站中的隐形炸弹eWebEditor文件上传漏洞补丁

    打开Upload.ASP文件 找到下面代码: 复制代码 代码如下: <%     sAllowExt = Replace(UCase(sAllowExt), "ASP", "") %> 改为: 复制代码 代码如下: <%     sAllowExt = UCase(sAllowExt)     Do While InStr(sAllowExt, "ASP") Or InStr(sAllowExt, "CER"

  • 快速发现并改正网站中的无效链接

    在我们浏览网站的时候,一定都遇到过页面上带红叉的无效图片或者"无法找到网页"的提示,出现如此现象一般都是因为链接文件的位置发生变化.被误删除或者文件名的拼写错误造成的. 为了避免出现无效链接的尴尬,树立良好的网站形象,当我们完成一个网站的设计制作后,一定要认真地检查是否存在失效链接,以便及时修改. 将无效链接扼杀在上传前 为了预防网站上传后出现无效链接,在上传前我们可以使用FrontPage2003的超链接报表功能来检查整个网站的链接情况,如果遇到无效链接还可以及时编辑修复.首先我们要

  • Java代码统计网站中不同省份用户的访问数

    一.需求 针对log日志中给定的信息,统计网站中不同省份用户的访问数 二.编程代码 package org.apache.hadoop.studyhdfs.mapreduce; import java.io.IOException; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; im

  • 如何在网站中插播广告?

    如何在网站中插播广告?首先,我们要写一个adrot.txt以调用: adrot.txt redirect width 550 height 60 border 0 * images/chunfengad.gif http://www.shenzhaoyang.com 欢迎访问闪亮日子之精彩春风! 50 ' 显示百分比 images/intelsad.gif http://www.intels.net 欢迎访问随风起舞! 50 然后,在要显示广告条的页面里添加下列源代码,调用adrot.txt:

  • 彻底解决ewebeditor网站后台不能上传图片的方法

    经我们技术员检查,结果原来是eWebEditor文本编辑器对IE8浏览器的兼容性导致的脚本错误,并不是什么"网站空间.服务器中毒.出问题了"呢! 现就将解决方法公布给大家,方便大家修正自己网站的代码以使文本编辑器在各种浏览器下都能兼容.正常使用! 解决IE8不支持eWebEditor在线文本编辑器的方法如下: [1]首先在eWebEditor文本编辑器根目录下的Include目录下找到editor.js文件(注意:不同的eWebEditor版本的editor.js文件所处目录可能有所不

  • .Net MVC网站中配置文件的读写

    网站中有很多需要设置的内容,像网站信息,注册设置,上传设置等.如果保存在数据库中需要单独建张表,表中只有一条记录,这样会让数据库很臃肿,而且频繁存取数据库的效率也是个问题.而保存在config文件里是个不错选择,而且带有缓存功能! 我们可以在web.config的配置节写入配置. <configuration> <configSections> <section name="entityFramework" type="System.Data.E

  • 详解网站中图片日常使用以及优化手法

    前言: 最近新到一个团队,才意识到基础的薄弱,牛人遍地,还是好好学习,天天向上. 一直都觉得网站优化的重点是图片,图片的使用也是博大精深.有必要总结一下图片的日常使用以及优化手法- 总的来说,图片的使用分为background和img两种,而优化方向来说分为减少请求,减少大小和清晰度 三个方面 一. background和img的区别: 日常开发中使用的场景区别: img是内容部分的东西,background-image是修饰性的东西. 加载方式的区别: 在网页加载的过程中,以css背景图存在的

  • 在局域网共享中- 隐形的文件

    时下,许多公司和部门都建立了自己的局域网,连接局域网的电脑上设立一个共享文件夹,就可以与他人共享该文件夹中的数据,确实方便了同事间的文件交换工作.但是局域网上的所有电脑都能够通过"网上邻居"看到这个共享的文件夹,如果不希望他人在局域网上看这个共享文件夹,可以试试以下三法,它们都能够让共享文件夹隐形. 1."$"辅助法 在建立共享文件夹时,如果把共享名称命名为一个以"$"为结尾的字符串,比如"download$",那么在&quo

  • JS如何实现网站中PC端和手机端自动识别并跳转对应的代码

    1.  代码场景: 描述:在项目中,一般我们会使用响应式布局的方式或者借助bootstrap等插件来做响应式的网站.但是根据业务的需求,手机端可能会在功能上精简很多,我们也会写两套代码,分别用来实现PC端和手机端的功能.此时,就存在一个问题.项目在部署的时候只会使用一个地址,不会针对手机和PC端代码分别进行部署.这个时候就需要我们通过去识别视口分辨率的大小,来自动去跳转对应的代码. 2. 实现方式: 目前网上有很多的方法用来实现PC端和手机端的代码跳转,但我只用了一种实现方式.其他的暂时还没有尝

随机推荐