Nginx 解析漏洞复现

漏洞原理

该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。主要是由于下面两个配置的错误:

cgi.fix_pathinfo=1,该配置项的作用是如果访问的.php文件不存在,则采用上层路径,例如访问/test.png/.php,一般情况下.php文件是不存在的就会将/test.png解析。这个配置在php.ini 中可以修改,默认是开启的

security.limit_extensions配置项默认为空,该文件规定了什么后缀名当做php代码执行,这个配置在php-fpm的配置文件中:

通常在nginx.conf的配置文件或者include包含的其他配置文件下有以下信息

location ~ \.php$ {
                fastcgi_index index.php;

                include fastcgi_params;

                fastcgi_param  REDIRECT_STATUS    200;
                fastcgi_param  SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
                fastcgi_param  DOCUMENT_ROOT /var/www/html;
                fastcgi_pass php:9000;
        }

 上述代可以理解为:Nginx解析到.php后缀的文件会交给FastCGI

你可能感兴趣的:(网络安全,web安全,nginx解析漏洞)