之前的文章,通过ctfshow的二十个关卡的解题来了解文件上传的形式,注意到很多时候文件上传需要配合其他前置条件才能更好的实现。
借助迪总的笔记,然后再做自己的学习感悟。
#中间件文件解析-IIS&Apache&Nginx
-IIS 6 7 文件名 目录名
1、文件名:x.asp;.x.jpg //上传正常图片之后,一般输入路径能看到保存的图片。但是在这个漏洞环境下,修改图片的名字(如上),再次访问地址的时候,会出现解析代码的行为。如果该文件里面写有恶意代码,将会被执行。
2、目录名:x.asp/x.jpg //而目录同样存在风险,如果一个目录的名字,以.asp为例子,在目录里面的jpg文件如果含有基于asp代码写的恶意脚本,也能被解析执行。
3、IIS7.X与Nginx解析漏洞一致
-Apache 换行解析 配置不当
1、换行解析-CVE-2017-15715
其2.4.0~2.4.29版本中存在一个解析漏洞 //上传之后可能会有黑白名单限制。可以考虑使用截断来人绕过检测规则,比如说xxx.jpg%0a
2、配置不当-.htaccess配置不当
AddHandler application/x-httpd-php .php
-Nginx 文件名逻辑 解析漏洞
1、文件名逻辑-CVE-2013-4547
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
2、解析漏洞-nginx.conf配置不当
由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
#Web应用编辑器-Ueditor文件上传安全
<form action=”http://192.168.46.139/net/controller.ashx?action=catchimage” 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源码引用外部编辑器实现文件上传