#知识点:
1、中间件安全问题
2、中间件文件上传解析
3、Web 应用编辑器上传
编辑器也就是第三方插件,一般都是文件上传漏洞
#详细点:
1、检测层面:前端,后端等
2、检测内容:文件头,完整性,二次渲染等
3、检测后缀:黑名单,白名单,MIME 检测等
4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等
#本章课程内容:
1、文件上传-CTF 赛题知识点
2、文件上传-中间件解析&编辑器安全
3、文件上传-实例 CMS 文件上传安全分析
#前置:
后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)
如:jpg 图片里面有 php 后门代码,不能被触发,所以连接不上后门
如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还
有.user.ini&.htaccess
中间件容器:出现漏洞,大部分是以.net、php等语言构建的应用
演示案例:
Ø 中间件文件解析-IIS&Apache&Nginx
Ø Web 应用编辑器-Ueditor 文件上传安全
Ø 实例 CMS&平台-中间件解析&编辑器引用
参考:vulhub.org
#中间件文件解析-IIS&Apache&Nginx
-IIS 6 7 文件名 目录名 ——一般是windows server 2003
条件:
1.上传文件能不能修改上传目录或上传的文件名能增加命名
2.IIS 6.0
- 文件名:x.asp;.x.jpg
上传时,进行更改图片的文件名
此时的图片是可以正常运行的,是一个正常的图片形式
但对其进行访问,发现此图片被解析为了.Asp
因此我们可以利用文件上传,上传此文件类型,访问图片,生成后门
- 目录名:x.asp/x.jpg
当图片在文件夹里时,是一个正常的图片情况
给文件夹修改名字:添加.asp
此时发现,原本的图片被解析为.asp格式,因此也可以从此进行利用
3、IIS 7.X 与 Nginx 解析漏洞一致
上传带有后门的图片,再后面输入/*.php(*指任意),即可被执行
-Apache 换行解析 配置不当
条件:
- 是Apache中间容器
- 黑名单验证(php%0a绕过黑名单)
- 白名单可能可以(若没有过滤干净,则可以1.jpg.php%0a绕过)
1、换行解析-CVE-2017-15715
其 2.4.0~2.4.29 版本中存在一个解析漏洞
上传文件,在后面Hex里修改相关参数,进行绕过过滤
2.配置不当-.htaccess 配置不当
条件:
- apache中间件容器
- 文件命名需要基于本地上传为准
那么当我们写入1.php.jpg时,表面上的图片,但由于管理员的配置,所以会将此文件解析为php
AddHandler application/x-httpd-php .php
-Nginx 文件名逻辑 解析漏洞
1、文件名逻辑-CVE-2013-4547
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
上传文件时,要加一个空格即:“1.jpg ”
再访问图片,添加后缀 .php
然后在Hex找到对应位置修改其参数
成功
2、解析漏洞-nginx.conf 配置不当
由此可知,该漏洞与 Nginx、php 版本无关,属于用户配置不当造成的解析漏洞。
#Web 应用编辑器-Ueditor 文件上传安全
<form
action="http://192.168.46.139/net/controller.ashx?action=catchima ge" enctype="multipart/form-data" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p>
<input type="submit" value="Submit" />
</form>
随便选择一个图片,并加入参数
#实例 CMS&平台-中间件解析&编辑器引用
1、中间件配置不当导致文件被恶意解析
2、CMS 源码引用外部编辑器实现文件上传