|
本文搜集了一些前人的总结,主要介绍了PHP本地和远程文件包含,以及其利用方式。 主要供信息安全初学者阅读。
文件包含介绍
严格来说,文件包含漏洞是“代码注入“的一种。代码注入的原理就是注入一段用户能控制的脚本或代码,并让服务端执行。
代码注入的典型代表就是文件包含。文件包含可能会出现在JSP、PHP、ASP等语言中。
常见的导致文件包含的函数如下:
- PHP: include(), include_once(), require(),require_once, fopen(), readfile() ….
- JSP/Servlet: ava.io.File(),java.io.FileReader() …
- ASP:include file, include virtual…
PHP文件包含主要由这四个函数完成:
- include()
- require()
- include_once()
- require_once()
当使用这4个函数包含一个新的文件时,该文件将作为PHP代码执行,PHP内核并不会在意该被包含文件是什么类型。所以如果被包含的是txt文件、图片文件、远程URL,也都将作为PHP代码执行。
比如DVWA low等级的文件上传
<?php include($_GET |
|