php上传文件解析失败,文件上传 文件解析漏洞详解

Nginx+php配置错误导致的解析漏洞

cgi.fix_pathinfo =1

该配置在php.ini文件中设置,现在是默认注释掉了

利用:http://x.x.x.x/test.jpg/test.php nginx发现后缀是php便交给php去处理,而/test.jpg/test.php不存在,于是对路径进行修复,去掉/test.php,然后对test.jpg进行php解析

另外新版php还增加了“ security.limit_extensions ” 限制了解析文件的后缀 只能为.php,否则返回

Access denied 。

Nginx空字节代码执行漏洞

在fast-cgi关闭的情况下,nginx版本:0.5., 0.6., 0.7-0.7.65, 0.8-0.8.37,nginx在图片后附加php代码然后通过访问

test.jpg%00.php 即可执行php代码

原理: URL里面在遇到%00空字节时与FastCGI处理不一致

Nginx配置不当目录穿越

如果绝对路径"/home/"的URL映射是网站目录"/files/",配置写成了"/files"location /files {

alias /home/;

}

就可以访问"/files../",穿越路径,访问到绝对路径根目录"/"下的文件列表

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

受影响的nginx版本: 0.8.41至1.4.3和1.5.7之前的1.5.x

正常上传一个附加代码的图片"test.jpg"

你可能感兴趣的:(php上传文件解析失败)