Nginx 解析漏洞复现

影响版本:

该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。

 

漏洞原理:

1、查看nginx配置:

 

Nginx 解析漏洞复现

 

 Nginx 解析漏洞复现

 

可以看到这里将.php请求都转发给了php-fpm中进行处理

 

2、php-fpm对发送的.php请求处理

因为.php文件并不存在,如果php.ini配置文件中的cgi.fix_pathinfo=1存在,就会跳到上一层的路径

 

3、最重要的配置错误:

php-fpm.conf中的security.limit_extensions配置项限制了fastcgi解析文件的类型(即什么类型的文件才能当做代码解析),此项设置为空的时候才允许fastcgi将’.jpg’等文件当做代码解析

Nginx 解析漏洞复现

 

 

 

复现:

1、上传一句话图片马,并在后面加上/.php,就可以将我们上传的jpg文件解析为php代码

Nginx 解析漏洞复现

 

 

 2、配置security.limit_extensions,并且重启docker环境

Nginx 解析漏洞复现

 

3、当我们再次想要用php-fpm将jpg文件解析为php代码时显示Access denied

Nginx 解析漏洞复现

 

Nginx 解析漏洞复现

上一篇:阿里云容器Kubernetes监控(九) - Kubernetes事件离线工具kube-eventer正式开源


下一篇:五 OOP使用工厂函数调用__init__()