感谢您的支持,我们会继续努力的!

潍坊谷尼软件技术服务有限公司 潍坊谷尼软件技术服务有限公司

2021-02-22
phpstudy nginx解析漏洞

当前位置:首页 > 资讯 > 网络安全 > phpstudy nginx解析漏洞

phpstudy nginx解析漏洞

发布日期:2021-02-22 10:01:52

游览量:153

作者:谷尼软件



用的是phpstudy部署的,昨天看到那篇文章了,就用我的服务器测试了一下。

 

5f51934db69dc.png

 

新建一个内容为<?php phpinfo();?>的

记事本,重命名保存为1.jpg

 

5f51936968a60.png

 

直接访问内网地址

 

5f51941623372.png

 

然后加入/.php

 

5f51939788e97.png

 

 

成功执行phpinfo();

 

漏洞分析

这是我的生产环境,根据漏洞特性,大概率就是fastcgi的问题。

查看该站点相关的nginx的配置文件

5f51951b18de6.png

 

可见 这里的正则处理,将文件传递给fastcgi处理,$fastcgi_script_name会被设置为1.png/.php,然后构造成SCRIPT_FILENAME传递给PHP CGI。如果PHP中开启了fix_pathinfo这个选项,PHP会认为SCRIPT_FILENAME是1.png,而.php是PATH_INFO,所以就会将1.jpg作为PHP文件来解析了。

处于好奇心去观察一下php的配置

5f5195aba6389.png

 

可见这里是注释了。我就非常奇怪,既然是注释了为什么还能让这个配置生效为1,不得已思考是否他的默认配置就是为1。

后记

查阅资料后可知,他的默认值就是1,无论是否添加了注释。

 

5f51988cb96b6.png

https://www.php.net/manual/zh/ini.core.php#ini.cgi.fix-pathinfo

 

修复方式是强制设置为0。并且需要对nginx的location规则进行设置。加一个判断是否以此类路径进行访问。如果是就返回403

    if ( $fastcgi_script_name ~ ..*/.*php ){              return 403;      
        }

 

5f5197449d355.png


潍坊谷尼软件技术服务有限公司17年行业经验、服务企业5000家,知名企业近160家。谷尼信天翁是山东网站制作机构,是山东企业"互联网+";"移动营销"品牌。执行供给侧改革的网络企业。咨询热线:13188831521
TAG标签:phpstudy , nginx解析漏洞 ,
未注明作者或来源均属原创文章,转载请注明:转自 谷尼软件

推荐