实验环境
windows server 2008 r2(x64)
IIS 7
phpStudyIIS 2016版本
漏洞描述
IIS配置问题导致IIS 能够解析PHP 脚本
漏洞原理
在IIS7.x的FCGI运行模式下,在某文件路径后添加/.php会将该文件解析成php文件
漏洞条件
1. php.ini里的cgi.cgi_pathinfo=1
2. IIS7在Fast-CGI运行模式下
漏洞复现
先搭建IIS7
添加web服务器(iis),添加角色服务,安装CGI
出现以下界面安装成功
安装phpstudy ,使用较老的版本的phpstudy进行安装,这里使用的是phpstudy2016
切换版本 使用如下版本的php
启动phpstudy
通过iis网站服务可以看到php启动的服务是8980端口
打开后ctrl+f 搜索cgi.fix,将 cgi.fix_pathinfo=0 改为 cgi.fix_pathinfo=1 开启模块,并且把 ; 删除
相关更改:更改php.ini文件中的cgi.fix_pathinfo=1开启模块
接着访问http://localhost:8980/phpinfo.png/.php
发现解析成功
漏洞修复
方法一、将请求限制处打上对勾
方法二:修改php.ini配置文件(cgi.fix_pathinfo)
将cgi.fix_pathinfo的值改为0