2019-04-05关于文件包含漏洞

首先我们先来了解一下文件包含漏洞是怎样形成的。

PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。最常见的就属于本地文件包含(Local File Inclusion)漏洞了。

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

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

文件包含的函数为:
include(); require(); include_once(); require();

include()函数对文件后缀名无要求,而对其中的语法有要求,即使后缀名为txt,jpg也会被当做php文件解析,只要文件内是<?php ?>形式就可以执行,但是如果不是php语法的形式,即使后缀为php,也无法执行。

此类型的漏洞复现需要利用PHP的伪协议
?file=php://filter/read=conver.base64-encode/recource=xxx.php

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://tieba.baidu.com/p/2310282657 什么是”远程文件包含漏洞”?服务器通过ph...
    查无此人asdasd阅读 2,057评论 0 2
  • 一、什么才是”远程文件包含漏洞”? 回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来...
    喜欢吃栗子阅读 2,674评论 1 4
  • 文件转载自https://blog.csdn.net/chence19871/article/details/51...
    许胖子阅读 379评论 0 0
  • 导语:文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序。当应用程序使用攻击者控制的变量...
    CanMeng阅读 7,671评论 1 4
  • 今天去看大圣归来。我旁边有一个小孩儿问他妈妈“这不是动画片么?为什么有这么多大人来看?”他妈妈回答“因为他们一直在...
    写手阿思阅读 579评论 0 0