Windows IIS+PHP 简易本地靶场搭建 全套精简知识点
Windows IISPHP 简易本地靶场搭建 全套精简知识点一、基础概念Web 服务器IISWindows 自带网页服务接收浏览器访问只能直接打开静态 html不能解析 PHP。 Apache/Nginx另外两款服务器DVWA 多用 Apache线上网站多用 Nginx。网页分类HTML 静态页内容固定所有人看到一样无登录交互功能。PHP 动态页可实现登录、记录用户、读写文件后缀.php。FastCGI 协议IIS 与 PHP 的中间通信桥梁。 访问流程浏览器→IIS→FastCGI→php-cgi.exe 执行代码→生成页面返回浏览器。二、环境搭建步骤知识点开启 Windows 系统 IIS 功能勾选 CGI 模块。PHP 解压到纯英文无空格路径复制php.ini-development改名为php.ini开发模式显示报错方便调试。php.ini 核心配置extension_dir指定扩展文件路径开启 mysql、curl、gd 等常用扩展date.timezone Asia/Shanghai设置时区sys_temp_dir、upload_tmp_dir统一指向php/tmp配置session.save_path保存会话文件cgi.fix_pathinfo1可复现文件解析漏洞。 规则分号;是注释不生效路径用/修改后执行iisreset重启 IIS 生效。IIS 网站配置新建网站物理路径存放源码文件夹webroot默认文档添加index.php添加 FastCGI 映射将所有.php 文件交给php-cgi.exe处理。三、权限核心知识点高频踩坑匿名账户 IUSR、IIS_IUSRS访客访问网站时统一使用的系统账号不是电脑管理员网站所有读、写、新建文件操作都由该账号执行。两个独立文件夹权限互不继承必须分开授权 ① webroot网站源码目录存放 php/html 代码仅需要读取权限 ② php/tmp临时目录存储 session 会话文件、上传临时文件需要新建、写入、修改权限。只给 webroot 开权限tmp 无写入权限会出现 session 报错、登录无响应。四、PHP Session 会话核心登录功能原理会话用户从打开网页到关闭浏览器的一次完整访问Session 用来记住登录状态不用重复输密码。SessionID随机唯一字符串只存在浏览器 Cookie不保存账号密码。会话文件保存在 tmp 文件夹命名sess_随机ID内部存储用户登录信息仅服务器可见。session_start()自动查找对应会话文件无文件则新建。报错原因tmp 文件夹不存在 / 未给 IUSR 写入权限无法创建会话文件页面抛出警告、登录提交失效。完整登录流程 打开页面执行 session_start ()→匿名账户查找会话文件→新用户自动创建 sess 文件→登录成功写入用户信息→浏览器携带 SessionID 访问其他页面→服务器读取文件识别登录状态。五、各类靶场对比自建 IIS-PHP 简易靶场专攻 Windows 权限、IIS、PHP 底层原理漏洞单一。DVWA综合基础 Web 漏洞练习注入、XSS、上传等。SQLi-LabsSQL 注入专项搭配 sqlmap 工具。VulfocusDocker 容器综合靶场海量 CTF、组件漏洞一键启停。六、环境隔离虚拟机 vs Docker虚拟机完整独立虚拟系统完全隔离主机适合 Windows IIS 靶场占用空间大、启动慢。Docker轻量容器共享宿主机内核秒开秒删Linux 容器无法运行 Windows 专属 IIS 环境。七、裸机搭建弊端直接在本机 Windows 搭建无隔离恶意脚本可访问本机全部文件重装系统后所有配置全部清空。