WEB攻防-PHP-文件上传(扩展篇-遗漏)
上期说完了原生态的文件上传漏洞,这期继续讲关于第三方中间件,编辑器,CMS的漏洞,虽然说基本没啥用哈,没准打CTF的时候用的上吧(自我安慰),这期并没有什么新知识点,更多的是对这个思路的扩展,因为关于这种第三方中间件这种,基本上都是有版本限制的,有漏洞的地方很少,并且很难遇到,所以说这期很鸡肋
首先来说第一个,关于php的使用的中间件一般都是Apache和Nginx居多,然后这次是要复现一个文件上传相关的漏洞
我们使用vulhub靶场来搭建环境,我记得应该是说过的,这里就不多讲,搜搜搜
直接启动
映射到8080端口
打开就这个样子,所以我们要干啥呢,首先看一下他的中间件版本
可以看到他的apache版本是2.4.10刚好符合我们前面看到的历史版本漏洞,所以走一下正常流程哈
上传一个php文件,显示这个坏类型,所以他对php过滤了,然后我们通过这个解析问题,来复现一下,首先上传然后抓包,找到后面这个保存名这里,然后转到16进制
然后把这个位置改成0a
然后你就发现上传成功了,然后我们访问一下,记得在后面加上%0a
然后你就发现成功访问了,可以发现这几种条件在是实战中基本上遇不到哈
所以说继续看下一个
关于Nginx的配置错误导致的漏洞
依旧启动
首先依旧查看版本
可以看到是nginx的1.4.2版本,依旧符合历史漏洞,我们直接上传一个带语句的gif图片
然后在文件名后面添加一个空格就不用管了,然后发送,发送完之后访问一下路径,抓住访问的流量
然后修改添加20和00后面带上php
然后就可以看到图片也被解析成php来执行了
这是这个文件名逻辑漏洞,他还有一个解析漏洞
而这个漏洞与版本无关,是由用户配置不当导致的,跟我们之前搞过的asp错误解析差不多,首先上传一个正常的图片,然后在图片信息里插入php代码
然后访问的时候随便输入个带php后缀的名字即可
可以看到在上传的jpg后面加上一个随便的php文件名,他就把图片里的php代码给执行了,是不是跟之前干过的很像嗯,简单来说这也不算漏洞了,这只是因为配置不好导致的人为错误而已,关于这个中间件就说到这里
然后就是第三方的编辑器,我们前面开发的时候使用的那个第三方的编辑器,那个ueditor,里面也有文件上传的功能,所以说就算你本身网站没有问题,而第三方的编辑器有问题的话,也是防不住的捏,前面我们开发的时候已经说过了,这次我们再来看看这个漏洞的利用,而这个编辑器漏洞也确实挺少的,只是提供一个思路
首先我们搭建好网站
可以看到版本是符合我们漏洞测试的
这里由于环境问题,等我整好了再说,这里先空着
接着来说CMS上传相关的漏洞利用
这里是一个通达OA的系统
这里已经搭建好了,假如这是一个真实的项目的话,现在拿到手肯定是先去搜搜他有没有历史漏洞,关于这个东西的漏洞网上一搜一大堆哈,所以我们直接开日
这里直接用小工具开日
输入网站路径之后就随便日了,比如这个随便登录
或者上传一个webshell
可以看到也是直接上传上来了,所以说,对于一个项目来说,首先肯定就是信息搜集了,如果网上有历史漏洞的话就不用你一直测测测了,浪费时间,就直接对着历史漏洞一件日穿就好了,然后除非是什么都搜集不到,人家原生态开发的,那就只能用我们前面学过的一个个测他的文件上传有没有问题了
所以总的来说,关于第三方的中间件或者别的七七八八的项目的时候,我们最首先的应该搜集的是网上有没有历史漏洞,有的话皆大欢喜,没有才继续手工测试,所以说信息搜集非常重要,信息搜集搜集的结果就导致你的测试思路不同,总不可能每次拿到个网站就开始手动测测,那也太累了。
那么关于这部分的其实也就没啥了,大部分都是网上直接搜得到的哈
未完待续~~