文件包含漏洞

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值