这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了文件上传漏洞和IIS6.0解析漏洞,包括PHP345文件绕过上传、Windows ::$DATA绕过、Apache解析漏洞上传等;这篇文章将分享编辑器漏洞和IIS高版本文件上传漏洞,包括FCKeditor、eWebEditor、畸形解析漏洞等,同时结合Caidao工具介绍拿站的流程及防御原理。
作者作为网络安全的小白,分享一些自学基础教程给大家,希望您们喜欢。同时,更希望您能与我一起操作共同进步,后续也将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力。
PS:本文参考了B站、51CTO学院(Threey老师)和参考文献中的文章,并结合自己的经验进行撰写,也推荐大家阅读参考文献。
下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study
前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向破解
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
[网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
[网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
[网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
[网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
[网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
[网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
[网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包
该篇文章参考了以下文献,非常推荐大家阅读这些大牛的文章和视频:
https://github.com/eastmountyxz
《Web安全深度剖析》《黑客攻防技术宝典浏览器实战篇》
https://www.bilibili.com/video/av60018118 (B站白帽黑客教程)
https://www.bilibili.com/video/av63038037 (B站HACK学习)
https://www.bilibili.com/video/av68215785 (2019 网络安全/黑客基础课程新手入门必看)
2019/Web安全/漏洞挖掘/信息收集/SQLMAP/SSRF/文件上传/逻辑漏洞 (B站强推)
https://blog.csdn.net/weixin_42380348/article/details/89199344
一句话木马、中国菜刀、图片一句话制作、过狗一句话 - 汉堡阿汉堡
2019文件上传漏洞专题渗透入门网络安全黑客web攻防详解 (Fox B站强推)
IIS6.0容器之解析漏洞复现 - Louisnie (参考推荐)
CTF中文件包含漏洞总结 - LetheSec
文件包含漏洞 - reber
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。
编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档。
编辑器通常分为两种情况:
(1) 不需要后台验证,可以直接在前台访问且操作。通过方法找到编辑器,再进行目录爆破(用御剑去扫描网站的目录)和蜘蛛爬行(AWS扫描器去判断是否存在网站编辑器)。
通常,存在 www.xxx.com/edit 或 www.xxx.com/uploadfiles 的域名,很可能会存在编辑器。
(2) 需要后台验证,才能操作编辑器。先通过漏洞或其他方法登录后台。
常用编辑器包括:
其中,用的次数较多的两种编辑器是FCK和eWEB,本篇博客将用这两种编辑器作演示。
FCKeditor常见上传目录:
(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
eWebEditor编辑器漏洞利用的基本流程如下:
如下图所示,这里选择某个样式表进行设置。
然后在图片类型中,增加“asa”类型。“.asa”可以被当成“.asp”文件去执行,而网站可能会过滤“asp”类型的后缀,所以这里添加“.asa”。
打开“工具栏”,显示如下图所示:
点击“按钮设置”,准备添加按钮。
选择“插入或修改图片”,然后“保存设置”。
此时返回页面,点击“预览”可以看到我们已经添加的“插入或修改图片”按钮。
然后直接上传“1.asa”文件,如下图所示。
然后点击代码,可以看到这是一个木马的文件路径。
所以,编辑器其实就是一个上传点,通过解析漏洞或多种文件上传漏洞可以实现绕过并上传一句话木马,从而提权。
IIS6.0毕竟是一个低版本,除了靶场和僵尸站很少能够遇到。真实的渗透中,会遇到很多的问题,比如WAF、高版本过滤、安全狗、被拦截绕过、不解析等等。接下来分享一个IIS高版本上传思路。
畸形解析漏洞影响版本: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”的图片文件,并且这张图片文件里包含以下代码。
fputs(fopen('shell.php','w'),''); ?>
那么它会生成一个叫shell.php的脚本文件,并写入我们的一句话,密码为cmd。而一句话的位置是:上传的图片文件名字“/shell.php”。如果图片没有被改名,那么现在我们的一句话文件在“1.jpg/shell.php”中。
假设我们向IIS+PHP搭建的远程服务器上传“1.jpg”文件。
开启服务器如下图所示:
“1.jpg”代码包含如下代码 ,它能显示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。
fputs(fopen('shell.php','w'),''); ?>
访问“/1.jpg/shell.php”显示的内容为空。
但是此时会在服务器生成一个名为“shell.php”的文件,如下图所示:
并且“shell.php”包含了我们的一句话木马。
这样通过Caidao即可访问该页面,并获取服务器的文件目录。
aspx它有一个“web.config”的配置文件,它规定我们上传文件的后缀。
我们可以自定一个后缀名来解析aspx文件。
换句话说,当我们遇到可以上传配置文件的时候,则上传我们修改好的配置文件,然后自定义一个后缀名如“.ad”,从而绕过WAF或检测,上传成功之后它会解析成aspx并执行。如下图所示:
所以,当我们遇到可以上传配置文件的时候,通过该方法实现绕过,从而提权。
写到这里,这篇基础性文章就此结束,最后希望这篇基础性文章对您有所帮助。作者也是这个领域的菜鸟一枚,希望与您共同进步,共勉。
这周我们举办XDef会议,会议圆满落幕,办会非常辛苦,也学到了很多东西,不论知识还是处事。同时,见到了很多大佬,包括360古河大神,后续尝试分享一些会议内容。今天回归正轨,差距虽然很明显,但希望自己能在安全领域深入下去,继续加油~
(By:Eastmount 2019-12-15 晚上7点写于武大 http://blog.csdn.net/eastmount/ )