DVWA系列之File Inclusion(文件包含)源码分析及漏洞利用

  • 什么是文件包含?

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

  • 文件包含漏洞的成因

随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但是正是这种灵活性通过动态变 量的方式引入需要包含的文件时,用户对这个变量可控而且服务端又没有做合理的校验或者校验被绕过就造成了文件包含漏洞。

  • 文件包含漏洞简介
  1. File Inclusion,文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once()利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。
  2. require():可以包含文件,如果包含错了,直接报错并退出程序的执行
    include():在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行
    require_once():与require类似,区别在于当重复调用同一文件时,程序只调用一次
    include_once():与include类似,区别在于当重复调用同一文件时,程序只调用一次
  3. 文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞
  4. 远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)。
  5. 类似的还有:伪协议、file、phpinput://

目录

low级别源码分析

medium级别源码分析

high级别源码分析

impossible级别源码分析​


low级别源码分析

服务器端对page参数没有做任何的过滤跟检查。

服务器期望用户的操作是点击下面的三个链接,服务器会包含相应的文件,并将结果返回。

服务器包含文件时,不管文件后缀是否是php,都会尝试当做php文件执行,如果文件内容确

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值