文件包含漏洞

文件包含漏洞主要源于PHP的动态文件包含功能,可能导致任意文件读取和命令执行。文章详细介绍了文件包含的原理、PHP提供的四种包含文件函数、本地和远程文件包含的概念,以及利用条件。此外,还讲解了如何利用文件绝对路径、日志文件包含和PHP伪协议如file://、php://input进行攻击,并给出了实验示例。
摘要由CSDN通过智能技术生成

文件包含

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

一、原理和定义

为什么会产生文件包含漏洞?

程序开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用,但正
是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。
以php,webapplication 中居多。
jsp,asp,很少
这与程序开发人员的水平无关,而问题在于语言设计的弊端。
文件包含常用函数

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

1.incudec() //找不到被包含的文件时只会产生警告(E_WARNING),脚本将继续执行;
2.incudec_once() //此语句和incudec()语句类似,唯一区别是如果该文件中的代码已经被包含,
则不会再次包含;
3.require() //找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR),并停止脚本。
4.require_once() //此行语句和require()语句类似,唯一区别是如果该文件中的代码已经被包
含,则不会再次包含。
include_once() 和 require_once() 这两个函数只包含一次,适用于在脚本执行期想确保它只被包括
一次以避免函数重定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值