网络安全 文件包含漏洞

文件包含漏洞的定义

文件包含漏洞是一种常见的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_includeallow_url_fopen,防止远程文件包含。

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

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

相关推荐
Suckerbin1 天前
Gaara: 1靶场渗透
安全·web安全·网络安全
是喵斯特ya1 天前
phpstudy+安全狗搭建安全靶场
安全·web安全
bleach-1 天前
buuctf系列解题思路祥讲--[ZJCTF 2019]NiZhuanSiWei1——文件包含漏洞和伪协议的利用
安全·web安全·网络安全·php
zjeweler1 天前
redis tools gui ---Redis图形化漏洞利用工具
数据库·redis·web安全·缓存
码农12138号1 天前
网络安全-身份伪造
web安全·jwt·身份伪造
bleach-1 天前
文件描述符及Linux下利用反弹shell的各种方法
linux·websocket·web安全·网络安全·系统安全·信息与通信
ZeroNews内网穿透1 天前
RStudio Server 结合 ZeroNews,实现远程访问管理
运维·服务器·网络·数据库·网络协议·安全·web安全
码农12138号1 天前
网络安全-SQL注入
数据库·web安全·sql注入
vortex52 天前
浅谈Linux文件读取类漏洞的额外攻击面
linux·安全·web安全