文件包含漏洞及漏洞利用

文件包含漏洞

文件包含

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

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

几乎所有的脚本语言都会提供文件包含功能。文件包含漏洞在PHP Web Application中居多,在JSP/ASP/ASP.net程序中比较少。接下来以PHP为例,说明文件包含漏洞。

漏洞产生的原因

1、web应用实现了动态包含
2、动态包含的文件路径参数,客户端可控

PHP中的文件包含

*语句
PHP中提供了四个文件包含的函数,四个函数之间略有区别。如下函数区别
include()
文件包含失败时,会产生警告,脚本会继续运行。

include_once()
与include()功能相同,文件只会被包含一次。

require()
文件包含失败时,会产生错误,直接结束脚本执行。

require_once()
与require()功能相同,文件只会被包含一次。

*相关配置
文件包含是PHP的基本功能之一,有本地文件包含和远程文件包含之分(虽然php官网上不是这么解释的)。简单来说,本地文件包含就是可以读取和打开本地文件,远程文件包含
(HTTT, FTP, PHP伪协议)就是可以远程加载文件。我们可以通过php. ini来进行配置。如下

allow_ url_ fopen=0n/0ff
本地文件包含(LFI)
allow_ url_ include=0n/0ff
远程文件包含(RFI)

文件包含示例
我们可以通过以下简单的代码来测试文件包含漏洞。准备一个include. php文件。

<?php
echo "<h1>This is include_once.php!</h1>";
include_once("./info.php");
?>

或者


<?php
$path=$_GET['path'];
include_once("./info.php");
echo "<h1>This is include_once.php!</h1>";
?>

该文件会从GET方法中获取path变量,也就是文件包含路径,然后包含此文件。创建一个文件info.php,
这个包含的文件的内容为phpinfo()。

<?php
phpinfo(
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DVWA文件包含漏洞利用是指利用DVWA(Damn Vulnerable Web Application)中存在的文件包含漏洞进行攻击。文件包含漏洞是一种常见的安全漏洞,它允许攻击者通过构造恶意请求来包含并执行服务器上的任意文件。 在DVWA中,可以使用包含漏洞来访问系统中的敏感文件、执行恶意代码或者获取系统权限。攻击者可以通过构造特定的请求,利用DVWA中的文件包含漏洞来获取敏感信息或者执行任意代码。 为了利用DVWA中的文件包含漏洞,攻击者通常会使用一些常见的函数,如php中的include()、include_once()、require()、require_once()等。通过构造恶意的文件路径,攻击者可以让服务器加载并执行恶意文件。 因此,为了防止文件包含漏洞的利用,开发人员应该在编写代码时注意对用户输入进行过滤和验证,避免将用户输入直接用于文件包含函数中的参数。同时,及时更新和修补系统和应用程序的漏洞也是非常重要的。 #### 引用[.reference_title] - *1* *2* *3* [DVWA之包含漏洞(file Inclusion)——文件包含漏洞产生的原因、文件包含漏洞的利用方式、DVWA之包含漏洞...](https://blog.csdn.net/weixin_45116657/article/details/100602769)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值