当前位置: 首页 > news >正文

文件包含漏洞学习

什么是文件包含漏洞

原理

web程序在处理文件包含功能时,没有进行严格的过滤和验证,导致用户可以通过构造特殊文件名,让服务器包含并执行一些恶意的文件,或者包含一些特殊的敏感文件,从而执行任意代码或获取一些敏感信息。

文件包含漏洞本质时一种注入型漏洞,我们通常把要执行的代码放在包含的文件中,文件中的任意代码都会被执行。

什么是包含?为什么要有包含这个功能?

我们以php为例,我们在写一段php代码的时候,通常会调用一些函数来实现我们想要的功能,但是不是所有我们想要实现的功能都能用已有定义的函数实现,所以就有了自定义函数等实现自己编程想法的功能,而文件包含的功能就是类似于这种的,php中的文件包含不在意文件的格式是什么类型的,只要文件中有可以解析的代码就都会被解析执行。

我们会将一些常用的代码段、函数或模板封装在一个文件中,等到需要应用到这个的时候我们就使用包含函数包含存放这些代码的文件,被包含的文件会被解析执行,这样做可以大量避免代码的复用率,减少代码的篇幅,也可以区块化管理代码,让维护更加简便但同时也衍生出了文件包含漏洞。

php中常用的包含函数

require():找不到被包含的文件会产生错误,并停止脚本运行
include():找不到被包含的文件只会产生警告,脚本继续执行
require_once():与require类似,区别是如果该文件的代码已经被包含,则不会再次包含
include_once():与include类似,区别是如果该文件的代码已经被包含,则不会再次包含

文件包含漏洞的类型

本地文件包含漏洞(LFI漏洞)

远程文件包含漏洞(RFI漏洞)

本地文件包含漏洞

在进行本地文件包含之前,我们要了解一下一些系统中的一些隐私文件的文件名和路径,这边就不说了

无限制文件包含漏洞

在实现文件包含的过程中,应用程序对用户输入的文件路径和名称没有进行任何限制或有效验证,导致攻击者可以随心所欲地让服务器包含任意文件,无论是服务器本地的系统文件、敏感信息文件,还是远程服务器上的文件。

我们通常利用../../ 来进行目录层级历遍,我们可以利用这个来跳跃目录层级,然后对目标文件进行包含执行

有限制文件包含漏洞

这个就是在上面的基础在实现文件包含的过程加上限制而已,原理都是一样的。那么有限制就有绕过,下面就是介绍几个绕过的手法

http://www.xdnf.cn/news/246997.html

相关文章:

  • PostgreSQL:pgAdmin 4 使用教程
  • 手撕哈希表
  • Android 移动开发:ProgressBar (水平进度条)
  • 【LeetCode Hot100】回溯篇
  • cua: 为 AI 智能体提供高性能虚拟环境
  • GTA5(传承/增强) 13980+真车 超跑 大型载具MOD整合包+最新GTA6大型地图MOD 5月最新更新
  • PyTorch 2.0编译器技术深度解析:如何自动生成高性能CUDA代码
  • 【Bootstrap V4系列】学习入门教程之 页面内容排版
  • 图像加密算法概述
  • Elsevier latex报错Paragraph ended before \@citex was complete.<to be read again>
  • Vue3 + OpenLayers 企业级应用进阶
  • Linux 第六讲 --- 工具篇(一)yum/apt与vim
  • 哈希表笔记(四)Redis对比Java总结
  • YOLOv8模型训练过程
  • Python与MySQL高效集成指南:从基础到高级实践
  • Hibernate与MybatisPlus的混用问题(Invalid bound statement (not found))
  • (C题|社交媒体平台用户分析问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合
  • 恒流源电路
  • RAG工程-基于LangChain 实现 Advanced RAG(预检索-查询优化)(下)
  • 前端HTML基础知识
  • 【大模型面试每日一题】Day 5:GQA vs MHA效率对比
  • CV中常用Backbone-2:ConvNeXt模型详解
  • 微软推出数款Phi 4“开放式”人工智能模型
  • VB.net序列化和反序列化的使用方法和实用场景
  • NUS:多模态多视角理解评估
  • 攻防世界 - Misc - Level 6 | Wireshark
  • jupyterlab建议安装的两个插件
  • LeetCode:DP-回文串问题
  • 如何测试登录模块?全面测试思路解析
  • Python爬虫(14)Python爬虫数据存储新范式:云原生NoSQL服务实战与运维成本革命