phpStudy默认配置致Nginx解析漏洞复现

  • A+
所属分类:安全文章


上方蓝色字体关注我们,一起学安全!
作者:小泫@Timeline Sec新成员
本文字数:731
阅读时长:2~3min
声明:请勿用作违法用途,否则后果自负


0x01 简介

phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。

0x02 漏洞概述

此次漏洞是Nginx的解析漏洞,由于phpstudy中配置文件的不当,造成了/xx.php解析漏洞,故此将文件解析为php运行。


0x03 影响版本



phpStudy <=8.1.0.7 for Windows

0x04 环境搭建

回复“Nginx解析漏洞环境”,获取漏洞版本安装包及安装教程


注意⚠️:phpstudy会一直提示更新才可以用,所以不要点击更新,直接启动服务就行了,安装教程里有操作方法的视频


phpStudy默认配置致Nginx解析漏洞复现


将图片马ip.png放置在web根目录下


phpStudy默认配置致Nginx解析漏洞复现

0x05 漏洞复现


访问图片


phpStudy默认配置致Nginx解析漏洞复现


加/.php解析为php文件


phpStudy默认配置致Nginx解析漏洞复现


0x06 漏洞分析


首先打开 Nginx.conf 文件查看

phpStudy默认配置致Nginx解析漏洞复现


在 vhosts 文件夹下 localhost_80.conf


  location ~ .php(.*)$ {            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO  $fastcgi_path_info;            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;            include        fastcgi_params;        }

由于如下的配置文件会导致 .php.* 文件交给fastcgi


当url为如下

http://127.0.0.1/tp/test/ip.png/a.php


$fastcgi_script_name会被设置为ip.png/a.php,然后构造成SCRIPT_FILENAME传递给PHP CGI


如果PHP中开启了fix_pathinfo这个选项,PHP会认为SCRIPT_FILENAME是ip.png,而a.php是PATH_INFO,所以就会将ip.jpg作为PHP文件来解析了


默认phpinfo中我们可以看到,默认是开启的


phpStudy默认配置致Nginx解析漏洞复现

0x07 修复方式


php.ini 中 fix_pathinfo 禁用为0

cgi.fix_pathinfo=0

Nginx.conf添加如下代码

    location ~ .php(.*)$ {      if ( $fastcgi_script_name ~ ..*/.*php ){        return 403;      }                fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO  $fastcgi_path_info;            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;            include        fastcgi_params;        }

参考链接:

https://www.cnblogs.com/fogwang/p/5576518.html

https://www.laruence.com/2010/05/20/1495.html


phpStudy默认配置致Nginx解析漏洞复现

phpStudy默认配置致Nginx解析漏洞复现
阅读原文看更多复现文章
Timeline Sec 团队
安全路上,与你并肩前行





发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: