1.首先我们点进去看到的是我们熟悉的表单页面下面还有一个计算按钮2.既然是表单我们直接不解释连招常规三板斧看看有没有信息。3.这一套连招下来我们没得到什么信息也没有报错。显然这题我们肯定是走错方向了。4.那我们再看看源代码找找有什么线索。5.这个clac.php一看就是和题目有关系的那我们直接访问6.得到了完整的php代码7.这段php代码能得到的信息很多可以说有了这串代码这题就已经解出来了。下面我们来解读一下有用的信息。首先get传参显而易见。然后这一大串的字符明显就是过滤名单了。这段php代码结构完整。我们依据他直接得到payload8.那我们还不知道flag文件的名称是什么要做的就是扫描一下所有文件看看哪个文件比较可疑。calc.php? num2;var_dump(scandir(chr(47)))num2用于完成代码闭合eval(echo .$str.;);中str必须要有点东西没东西运行不起来。后面的才是关键代码。var_dump输出变量的相关信息scandir()函数以数组形式返回指定目录中的目录和文件chr(47)则是/的ASCii编码/在这里的作用是指定要列出的目录路径——它代表 Linux/Unix 类操作系统中的根目录。9.输入payload得到如图的信息10.那很明显这个flagg肯定就是我们要的flag了。故技重施calc.php? num1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))这里的file_get_contents()是一个文件读取函数。后面的一堆chr则是flagg的ASCii编码最后得到flag