IIS漏洞描述
在Fast-CGI运行模式下,在任意文件后缀上加上一个/.php,那么这个文件就会被IIS服务器解析为php文件(所以这里要用到PHP中间件)。
复现步骤
首先搭建iis7
创建iis服务
点击下一步,选择应用程序开发中的CGI选项,点击安装
安装phpstudy2016
启动phpstudy
点击服务管理器,可以查看到php启动的服务是8980端口
选择phpstudy中的php-5.2.17对应路径中的php.ini文件
打开后ctrl+f 搜索cgi.fix,将 cgi.fix_pathinfo=0 改为 cgi.fix_pathinfo=1 开启模块,并且把 ; 删除
双击phpstudy-2016,开启映射
添加模块映射
点击请求限制,取消勾选
点击确定并重启phpstudy
尝试访问phpinfo
在www目录下创建phpinfo.png文件,内容为
尝试访问phpinfo.png,发现是可以解析的
继续访问.png/.php
修复建议
(1)方法一
(1)在win2008系统中,打开IIS管理器界面,找到搭建环境时建立的映射文件。
(2)选中该映射文件,点击右侧的编辑,点击请求限制,在限制栏下,勾选上并点击确定。
(2)方法二
将php.ini文件中的cgi.fix_pathinfo的值设置为0,并将该行代码签名的分号去掉,保存并重启phpstudy。