文件包含漏洞

£神魔★判官ぃ 2022-05-12 02:38 299阅读 0赞

文件包含漏洞是“代码注入” 的一种,常见的导致文件包含的函数如下:

PHP:include(),include_once(),require(),require_once(),fopen(),readfile()

JSP/Servlet:ava.io.File(),java.io.FileReader().

ASP:include file,include virtual

要想成功利用文件包含漏洞,需要满足下面两个条件:

(1)include()等函数通过动态变量的方式引入需要包含的文件

(2)用户能够控制该动态变量

一、本地文件包含

能够打开并包含本地文件的漏洞,被称为本地文件包含漏洞。

二、远程文件包含

如果PHP的配置选项allow_url_include为ON的话,则include/require函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞。

三、本地文件包含的利用技巧

经过不懈的研究,安全研究者总结出了以下几种常见的技巧,用于本地文件包含后执行PHP代码。

(1)包含用户上传的文件

(2)包含data://或php://input等伪协议

(3)包含Session文件

(4)包含目录文件,比如Web Server的access log

(5)包含/proc/self/environ文件

(6)包含上传的临时文件(RFC1867)

(7)包含其他应用创建的文件,比如数据库文件、缓存文件、应用日志等, 需要具体情况具体分析。

发表评论

表情:
评论列表 (有 0 条评论,299人围观)

还没有评论,来说两句吧...

相关阅读

    相关 本地文件包含漏洞详解

    0x00:漏洞定义 在通过服务器脚本的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露、恶意代码的注入等。 文件包含分为