文件包含知识点

本文详细介绍了文件包含漏洞的概念、产生原因、危害以及PHP中常见的文件包含函数。通过实例展示了本地文件包含和远程文件包含的利用方式,包括PHP伪协议、%00截断、phar://等。同时提出了修复建议,如路径限制、白名单验证和配置open_basedir等,以增强系统安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    1. 文件包含概述

Web脚本可能允许客户端用户输入调用包含在服务器的文件,会导致恶意代码的执行以及敏感信息的泄露;

 

文件包含漏洞的产生:

程序开发人员都希望代码更灵活,所以通常会将被包含的文件设 置为变量,用来进行动态调用,但正是由于这种灵活性,从而导客户 端可以调用一个恶意文件,造成文件包含漏洞。

    1. web脚本可能允许客户端用户输入控制动态包含在服务器端的文件,会导 致恶意代码的执行及敏感信息泄露
    2. 引用的文件名,用户可控,文件名传入没有校验或校验被绕过

 

 

    1. 危害

执行任意脚本代码。

反弹shell。

控制整个网站。

控制整个服务器。

进一步内网渗透

 

    1. 文件包含常用函数

PHP中提供了四种包含文件的函数

 

    1. include()

当使用该函数包含文件时,只有代码执行到include()函数时才将文件包 含进来,发生错误只给出一个警告,继续向下执行

 

    1. include_once()

功能和include()相同,区别在于当重复调用同一文件时,程序只调用一次

 

    1. require()

require()与include()的区别在于require()执行如果发生错误,函 数会输出错误信息,并终止脚本的运行

使用require()函数包含文件时,只要程序一执行,立即调用文件,而 include()只有程序执行到该函数才调用。

 

    1. require_once()

它的功能与require()相同,区别在于当重复调用同一文件时,程序只调 用一次

 

 

    1. 本地文件包含

漏洞利用!

    1. 上传图片,包含图片Get
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值