进入可以看到是一个编译器 ,输入简单的php代码试试
不知道什么的报错,直接复制报错代码百度一下看看(仔细地可以看见最前面有一个后缀.c)
发现清一色的C语言报错,那我们找个c语言代码传进去试试
#includeint main() { printf("hello, world"); }
下载出来一个不知什么文件
思路到这里就断了,其实可以猜到flag在服务器的某个文件下,也许就是/flag,但是不知道怎么读取,难道是一个c语言漏洞么,感觉给出的文件又看不懂
看了别人的考的是c语言的预处理
利用include预处理将我们所需的文件包含进来
试试
#include 'etc/passwd'
叫我们用<>或者双引号包含文件名
发现报错了,但是仔细看文件内容已经出来了
#include 看一下执行什么命令
用处不大
看看cwd
不存在什么鬼
直接/flag ,发现尖括号报错信息没出来,但是双引号可以
真奇怪为什么cwd文件没有


![[FireshellCTF2020]Caas C的预处理 [FireshellCTF2020]Caas C的预处理](http://www.mshxw.com/aiimages/31/887522.png)
