文件包含漏洞成因
文件包含是代码注入的一种。其原理就是注入一段用户能控制的脚本或代码,并让服务器端执行,代码注入的典型代表就是文件包含 File inclusion。
文件包含可能会出现在jsp、php、asp等语言中。但是asp、jsp文件只能本地包含,而php既可以本地包含也可以远程包含。
常见的文件包含函数:
include 包含并运行指定文件,当包含外部文件发生错误时,系统给出警告,但整个php文件继续执行
include_once
require 产生错误时,停止运行
require_once
更多漏洞请点击—>传送门
漏洞利用
本地包含:
本地包含条件:
1、allow_url_fopen=On
2、用户可以动态控制变量
http://192.168.41.129/DVWA-master/vulnerabilities/fi/?page=include.php
我们将上述url include改为hello(一个不存在的文件),程序会傻傻的找hell