美文网首页
phpStudy默认配置致Nginx解析漏洞

phpStudy默认配置致Nginx解析漏洞

作者: 5f4120c4213b | 来源:发表于2020-12-02 17:53 被阅读0次

    0x00介绍

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

    0x01漏洞概述

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

    0x02影响版本

    phpstudy <= 8.1.0.7

    0x03环境搭建

    phpstudy8.1.0.7+windows2008R2

    1.phpstudy8.1.0.7下载地址:

    链接:https://pan.baidu.com/s/1CieI66tWsz4crgb_8eC4ag

    提取码:ww4y

    2.下载完成安装"注意别更新",直接启动phpstudy

    image image

    0x04漏洞复现

    1.访问phpstudy搭建的网站存在一个文件上传,我们上传一个图片马

    image image

    2.复制图片链接在浏览器打开,并在图片文件名后面加上/.php,可以看到执行了shell

    image

    0x05漏洞分析

    1.查看在 vhosts 文件夹下 localhost_80.conf

    image

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

    http://IP/uploads/2.jpg/.php
    

    当为如上url时

    $fastcgi_script_name会被设置为1.jpg/2.php,然后构造成SCRIPT_FILENAME传递给PHP CGI

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

    phpinfo中默认是开启的

    image

    0x06修复方式

    1. php.ini 中 fix_pathinfo 禁用为0,完成后重启NGINX

    2.在Nginx配置文件中添加以下代码:

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

    这行代码的意思是当匹配到类似test.jpg/a.php的URL时,将返回403错误代码。修改完成后请重启Nginx。

    参考链接:https://www.cnblogs.com/fogwang/p/5576518.html

    相关文章

      网友评论

          本文标题:phpStudy默认配置致Nginx解析漏洞

          本文链接:https://www.haomeiwen.com/subject/ojjywktx.html