
打开靶场跟前几题没有差别我们前面的操作跟前几题一样cprint_r(scandir(‘.’));查看当前目录发现有个flag.php尝试读取flag文件发现他说这次flag不在这里了那么我们尝试查看根目录cprint_r(scandir(‘/’));我们发现根目录下有个flag.txt我们尝试查看该文件我们这次要使用的payload为chighlight_file(‘/flag.txt’);/flag —— 绝对路径当你输入 highlight_file(‘/flag.txt’); 时最前面的那条斜杠 / 代表 Linux 系统的根目录它是指“不管当前网页在哪个文件夹直接回到整个操作系统的最顶层根目录去贴着根目录寻找一个叫 flag 的文件”而之前的flag —— 相对路径当你输入 highlight_file(‘flag’); 时你使用的是相对路径。含义它是指“在当前网页文件所在的目录下寻找一个叫 flag 的文件”。实际情况你当前访问的网页在 /var/www/html/ 目录下。所以PHP 实际去尝试读取的是 /var/www/html/flag。结果前面我们已经验证过了当前目录下只有一个假的 flag.php并没有一个叫 flag 的文件所以这样写系统会报错或者什么都读不到。