网络安全/渗透测试/代码审计/
关注
Windows Server 2008_x64
IIS 7.*
PhpStudy2008服务器必须能和PC物理主机相互Ping通
在这里我物理主机的IP是:192.168.1.100
2008虚拟机的IP是:192.168.119.137

提示:如果物理主机Ping不通2008,那么就吧2008的防火墙关闭就可以了!
服务器管理器 - 角色 - 下一步 Web服务器IIS - 勾选CGI



因为我们漏洞复现所需的条件就是CGI是开启的!

安装成功以后,在开始菜单 - 管理工具 - Internet 信息服务(IIS)管理器


访问http://192.168.119.137/:

这个就是IIS7.0的页面!
不知道你们注意没有,在2008服务器中,右键新建,只能新建文件夹,不能新建文件:

其实就是权限的问题!
解决方法:来到目录 - 右键属性 -安全 -添加一个Evervone权限



这个时候就可以新建文件了!


安装完PhyStudy后,他显示Apache已经停止,其实就是端口的问题 - 端口冲突导致的!
因为我们在IIS7.0已经安装了一个网站了,端口是80,所以导致Apache异常!
切换版本 - IIS7/8 + PHP5.2



这个时候IIS就会有一个Phpstudy的网站,我们不用它,把它停止,用默认网站就行了!
这个时候服务器的PHP环境就搭建好了,就可以运行PHP脚本了!
在网站根目录创建一个1.php的文件看看能不能访问:


环境都搭建完毕了!
liuwx.jpg/.php1、php.ini里cgi.fix_pathinfo=1
2、IIS7在Fast-CGI运行模式下
先新建一个liuwx.jpg的文件:

访问一下看看:
http://192.168.119.137/liuwx.jpg

图片是正常访问的!
我们访问:
http://192.168.119.137/liuwx.jpg/.php

提示:服务器错误,404-找不到文件或目录
很显然漏洞复现失败!是因为漏洞形成条件没有达到!
来到这里:C:\phpstudy\php52有一个php.ini配置文件:


默认cgi.fix_pathinfo是0,我们把前面的;去掉,因为那是注释,然后把0改为1

这个时候就满足漏洞的第一个条件了,接下来我们去配置第二个条件:
来到Internet 信息服务(IIS)管理器 - 处理程序映射

phpstudy_FastCGI - 请求限制 - 吧哪个映射√取消掉


这个时候,漏洞形成的条件都满足了!
再来访问:
http://192.168.119.137/liuwx.jpg/.php

漏洞成功复现,当我们把一个jpg图片后面加上/.php,它就会吧图片当做php脚本来执行!
1、配置php.ini里cgi.fix_pathinfo=1,并重启服务器
2、在模块映射中勾选请求设置