Py学习  »  NGINX

phpStudy集成环境默认存在nginx解析漏洞

渗透Xiao白帽 • 3 年前 • 372 次点击  


0x01 简介

该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。程序支持PHP5.3PHP5.4一键切换,支持系统服务和非服务两种启动方式,自由切换。改变安装路径或拷贝到别的电脑上也可正常运行;即便是运行完再更改路径也能运行,真正做到无须配置。重写控制面板更加有效直观地进行控制程序的启停。自带FTP服务器,支持多用户,无需再安装FTP服务器。自带网站挂马监视器,随时记录文件的修改情况。


0x02 漏洞原理


1、由于用户的错误配置导致nginx把以.php结尾的文件交给fastcgi处理,为此可以构造http://www.xxx.com/test.gif/xx.php (任何服务器端不存在的php文件均可,比如a.php)

2、但是fastcgi在处理xx.php文件时发现文件并不存在,这时php.ini配置文件中cgi.fix_pathinfo=1 发挥作用,这项配置用于修复路径,如果当前路径不存在则采用上层路径。为此这里交由fastcgi处理的文件就变成了/test.gif。

3、最重要的一点是php-fpm.conf中的security.limit_extensions配置项限制了fastcgi解析文件的类型(即指定什么类型的文件当做代码解析),此项设置为空的时候才允许fastcgi将.png等文件当做代码解析。


0x03 漏洞复现

准备图片马

copy cat.png/b + shell.php/a shellcat.png

上传到Web目录下访问如下

构造payload:

http://127.0.0.1/shellcat.png/.php

仅供参考学习,切勿用做非法用途,违者与作者无关


0x04 参考链接

https://mp.weixin.qq.com/s/qtBB64zZnmHd760jEzoj_w


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73258
 
372 次点击