[CTF web] 通过IIS在Windows下搭建php环境

本文总阅读量

CTF中web方向的一大重点是php代码审计,这需要我们对php代码的特性很熟悉,并了解基本的php语法。因此,我们需要有一个能够练习和熟悉php的环境。而且,在构造序列化等时候我们也需要一个能够运行php的服务器。比起在线编写,我们不如直接在本地搭建一个能够解释运行php的服务器。

绝大部分人电脑都是用的Windows,我们就利用Windows自带的IIS功能来搭建一个php环境

第一步:开启相应的Windows功能

首先打开控制面板,搜索“启用或关闭Windows功能”找到这个界面;

IIS1

把Internet Information Services下边的第二个第三个勾上,启用IIS服务;

接着搜索IIS找到IIS管理器:

IIS2

这时候看看右边的操作栏,如果没有启动就启动一下,接着进入网站;

IIS3

IIS默认自带一个网站Defaul Web Site,绑定的端口是80。同样检查右边的操作栏将其启动,我们访问127.0.0.1:80或localhost:80,成功的话会出现这样一个界面:

IIS4

第二步:添加php服务

IIS中自带的服务只有asp和vb等,没有php服务,因此我们需要手动添加;

IIS5

这里的添加过程参考了该博客,过程比较麻烦,一步一步来是没有问题的,先在处理程序映射中添加php,再处理php.ini,最终成功在IIS中添加了php服务。

第三步:构建个人网站服务

在网站界面右侧添加网站,出现该界面;

IIS6

名称什么的随便填,物理路径新建一个文件夹(之后的php代码就可以这个目录下编写调试),端口保证不冲突随便填,其他的默认就行;

接下来在该目录添加文件index.php,输入phpinfo:

1
2
3
<?php
phpinfo()
?>

访问设置的端口(我的是1437),出现该页面说明没问题:

IIS7

接下来就可以在该目录编写练习php了。

我们可以在该目录下随便添加php文件并通过该端口访问。觉得麻烦可以直接在终端界面使用curl直接访问。例如我们创建test.php,内容如下:

1
2
3
<?php
echo "hello world"
?>

接着在终端键入:

1
curl http://127.0.0.1:1437/test.php

便可以直接在终端得到结果,十分方便。

IIS8