所在的位置: php >> php介绍 >> 浅析文件包含漏洞

浅析文件包含漏洞

前言

近期发现文件包含这方面几乎一窍不通,特来对此漏洞进行学习,并总结如下,希望能对正在学习文件包含的人有些许帮助。

漏洞相关信息漏洞成因

后端编程人员一般会把重复使用的函数写到单个文件中,需要使用时再直接调用此文件即可,该过程也就被称为文件包含。文件包含的存在使得开发变得更加灵活和方便,但同时也带了安全问题,导致客户端可以远程调用文件,造成文件包含漏洞。这个漏洞在php中十分常见,其他语言也有。漏洞危害

文件包含漏洞可能带来的危害有:1、web服务器的文件被外界浏览,导致信息泄露;2、脚本被任意执行,导致网站被篡改。文件包含漏洞是一种常见的依赖于脚本运行而影响web应用程序的漏洞。漏洞分类

1.本地文件包含漏洞本地的话简单理解就是网页本身存在着恶意文件,我们对其进行调用,从而获取信息等

2.远程文件包含漏洞(需要php.ini开启了allow_url_fopen和allow_url_include)远程简单理解就是网页本身不存在恶意文件,我们取别的地方的文件包含进去,包含的文件是第三方服务器的文件。

漏洞常用函数

主流文件包含php一些函数的含义:include():执行到include()才包含文件,找不到包含文件只产生警告,还会接着运行后面的脚本require():只要程序一运行就会包含文件,找不到包含文件则会报错,并且脚本终止运行include_once():执行到include()才包含文件,找不到包含文件只产生警告,还会接着运行后面的脚本_once()后缀表明只会包含一次,已包含则不会再包含require_once():只要程序一运行就会包含文件,找不到包含文件则会报错,并且脚本终止运行_once()后缀表明只会包含一次,已包含则不会再包含利用方法

最常用的是伪协议

file://协议:条件allow_url_fopen:off/onallow_url_include:off/on作用:用于访问本地文件系统。在include()/require()等参数可控的情况下如果导入非php文件也会被解析为php用法:1.file://[文件的绝对路径和文件名]2.[文件的相对路径和文件名]3.[


转载请注明:http://www.aierlanlan.com/rzfs/374.html