网络安全 文件包含漏洞

文件包含漏洞的定义

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

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

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

相关推荐
BvxiE9 小时前
ISCC2023
web安全
数据知道9 小时前
漏洞挖掘方法论:从 Fuzz 到 0day 的思维框架
网络·安全·web安全·网络安全
菜根Sec14 小时前
信息安全工程师该怎么准备考试
web安全·网络安全·信息安全·信息安全工程师
网安小学生(兼顾数据库版)17 小时前
从固件上传到合规报告:艾体宝ONEKEY实现CRA合规的操作实录
网络·安全·web安全
数据知道1 天前
移动端渗透测试流程:Android APK 逆向与动态调试
android·web安全·网络安全
数字护盾(和中)1 天前
和中科技剖析 EDR 绕过全链路,AMSI、ETW 规避技术与防御对策
运维·网络·人工智能·科技·安全·web安全
网安蟹佬霸2 天前
Android安全攻防实战:从APK逆向到Frida动态Hook全流程详解(附脚本)
android·前端·安全·web安全·逆向·csrf·网安
Sagittarius_A*2 天前
Burst Lab | PHP 审计 13|反序列化(三):POP 链构造与 Gadget Chain 分析
开发语言·web安全·php·代码审计·反序列化
芯盾时代2 天前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(一)
网络·安全·web安全
网安蟹佬霸2 天前
蓝队防御实战:SIEM与SOAR构建安全运营中心(万字详解+实战配置)
android·安全·web安全·网络安全·网安