赛前回顾
1.题目打开后是文件包含的代码,如下

函数作用
highlight_file(FILE) //显示代码到网页
isset //检查变量是否存在并且非null(空)
!empty //php内置函数,检查变量是否为空或未设置,正常变量为空会触发,但是有个!所以这里是不为空的时候触发
file_get_contents //从get提交的内容中,是否等于hello ctf
解题思路
首先flag.php是我们需要读取的文件,代码大致意思就是说file1需要存在,然后file1没做限制,检查file2传入的内容是否等于hello ctf这个字符串,我们可以使用data协议来传参,然后file1来包含文件来读取flag
解题步骤
data传参没错,但是没有看到flag,应该是file1包含的方式不对,我们用php过滤器来包含

如下获取flag
第一次想着用rot13来包含,结果报错了, 正常用base的比较多,这里用rot13是为了多记条命令

解密base64后得到flag