码迷,mamicode.com
首页 > Web开发 > 详细

Nginx + PHP CGI的fix_pathinfo安全漏洞

时间:2015-07-09 09:34:22      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

  1. 具体的重现过程,用php代码修改后缀名后上传,比如说http://www.xx.com/1.jpg,访问的时候用http://www.xx.com/1.jpg/xxx.php

复制代码


这段jpg代码将会被执行!!!


http://docs.php.net/manual/zh/ini.core.php
cgi.fix_pathinfo “1″ PHP_INI_ALL 从 PHP 4.3.0 起可用 请注意:默认为1



解决办法:
1.修改php.ini中的cgi.cgi.fix_pathinfo为0(即使你在php.ini中没有搜到,也要设置,没有搜到表示默认为1
2.判断文件上传类型时使用严格的判断,至于怎么判断,参见:http://www.54chen.com/php-tech/php-upload-file-types-to-determine-the-complete-program-and-php-nginx-upload-size-and-complete-control-program.html
3.把nginx的判断正则修改为去除/
if ( $fastcgi_script_name ~ \..*\/.*php ) {
return 403;
}

Nginx + PHP CGI的fix_pathinfo安全漏洞

标签:

原文地址:http://www.cnblogs.com/you-jia/p/4632120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!