01、题目分析
程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,
直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。
在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞
php://input用于对本地磁盘文件进行写入
02、文件包含
因为文件写入php://input是用的post来传递数据,因此我们直接post传入数据,可以发现,已经出现了我们写入的内容
03、源码分析
<?php
echo file_get_contents("php://input");
?>
这段代码使用了 file_get_contents()
函数来读取来自 “php://input” 流的内容,并通过 echo
语句将其输出。
file_get_contents()
函数是 PHP 核心函数之一,它用于从文件或 URL 中获取内容。在这里,它接收了 “php://input” 作为参数,这是一个特殊的 PHP I/O 流,用于获取 HTTP 请求的原始请求体内容。
使用 “php://input” 流通常在处理 POST 请求时很有用,特别是当请求的内容为原始数据(如 JSON 或 XML)而不是表单数据时。这种方法可以直接获取请求体中的数据,而无需通过 $_POST
或 $_REQUEST
等预定义变量来访问。