文件上传_解析漏洞

文件解析漏洞是将静态文件错误的解析为动态文件的漏洞

1.IIS/Nginx + PHP fashcgi取值错误解析漏洞(配置错误)

开启了cgi.fix_pathinfo,如果开启以后,所执行文件不存在,会继续查找上一级文件是否存在。

index.php/id/2

并且未设置security.limit_extensions,该选项限制可以执行的文件类型

示例:abcde.jpg/.php

2.Nginx文件名逻辑漏洞(CVE-2013-4547)

影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

上传一个以空格(%20)为结尾的文件,例如“abcde.jpg ”

当访问abcde.jpg%20%00.php时,会将刚刚上传的文件,当做PHP进行执行

一般的php匹配正则: .php$

存在漏洞时,Nginx将abcde.jpg%20当做了脚本文件名

3.Apache解析漏洞(配置错误)

如果在Apache的conf文件中有如下配置

AddHandler application/x-httpd-php .php

则abcde.php.jpg也会被当做php去执行

如果在.htaccess中有如下配置,可以将扩展名.xxx当做php执行

AddType application/x-httpd-php xxx

4.IIS 5.x/6.0解析漏洞

(1)上传文件名:abcde.asp;.jpg

服务器默认不解析;后面的内容,因此文件被当做asp文件解析

(2)向xxx.asp目录下面上传abcde.jpg

服务器会将xxx.asp目录下的文件都当做asp文件解析
原文地址:https://www.cnblogs.com/buchuo/p/12691900.html