网络安全 文件包含漏洞

文件包含漏洞的定义

文件包含漏洞是一种常见的Web安全漏洞,允许攻击者通过动态包含文件的功能,将恶意文件注入到服务器端执行。通常发生在应用程序使用用户可控的输入(如参数或路径)来动态包含文件时,未对输入进行严格过滤或验证。漏洞分为本地文件包含(LFI)和远程文件包含(RFI)两种类型。

文件包含漏洞的利用

伪协议

php://filter,php://filter 是 PHP 中一种特殊的流过滤器伪协议,主要用于在数据流传递过程中应用过滤器(如编码、解码或转换)。它不直接访问文件系统,而是对现有数据流进行处理,常用于文件读写时的动态内容转换。过滤器链可以使用不同的编码转换,通常被用来读取文件:

php 复制代码
php://filter/[过滤器链]/resource=[目标资源]
 

Base64 编码读取文件示例:

复制代码
php://filter/convert.base64-encode/resource=filename

靶场、实战练习

Bugku NUAACTF 2020 command-injection-CSDN博客

文件包含漏洞防御

验证

严格过滤用户输入,禁止包含路径中出现../等目录遍历字符。使用白名单机制,限制可包含的文件范围。

策略

关闭不必要的PHP配置选项,如allow_url_include和allow_url_fopen,防止远程文件包含。

将用户输入与文件路径拼接时,使用绝对路径而非相对路径,避免目录遍历。

对包含的文件名进行硬编码或映射,避免直接使用用户输入。例如,通过预定义的文件列表选择包含内容。

相关推荐
Hum8le6 小时前
CTF题目《easy_web》(安洵杯 2019 变种 Web)
前端·安全·web安全
HackTwoHub7 小时前
DeepSeek Harness 红队破甲插件|适配 SRC 挖掘场景,区分平台拦截与模型原生输出,用于大模型安全边界合规测评研究
安全·web安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
梦帮科技7 小时前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
三8448 小时前
Fastjson 漏洞· 06 · 防御、审计与检测
安全·web安全·fastjson
砚凝霜9 小时前
【软考信息安全】第十二章 网络安全审计概述与分类
网络·安全·web安全
梦帮科技1 天前
【3.0修订版】跨链中继与事件编排:Relayer 监听、多签验证与故障自愈
web安全·金融·区块链·密码学·智能合约·安全架构·信任链
王大傻09281 天前
堆叠注入(Stacked Queries Injection)详解:原理、利用与防御
服务器·网络·数据库·web安全·网络安全
三8441 天前
sql注入
web安全·sql注入
微软技术分享2 天前
面向二进制安全的大模型多智能体框架
网络·安全·web安全
白猫不黑2 天前
网络安全专业:从入门到进阶的完整学习路线
学习·安全·web安全·计算机·网络安全·信息安全·编程