可以看到题目提示了一个txt的东西,猜测目录下会有flag.txt这个文件。
通过代码审计我们可以知道得到flag的条件,访问flag.txt得到一串字符。
那么payload就很好构造了,$f的值是从$fn中得到的,而要得到flag我们则要使$ac === $f,那我们令ac=flags,f的值是从fn中取出来的那么也会是flags,条件成立得出flag。 payload: ?ac=flags&fn=flag.txt
这道题还有另外一种方式
先放出payload吧:?ac=aaa&fn=php://input 同时post提交aaa
php://input是可以访问请求的原始数据的只读流,读取POST数据,不可读取GET数据,我们post提交aaa,然后通过这种方式读取到aaa,也可以满足flag的条件。
php输入流php://input使用浅析:https://blog.csdn.net/qq_14989227/article/details/79444940
CTF之php变量覆盖漏洞:https://www.jianshu.com/p/a4d782e91852
如果有错误之处,请联系QQ:365216308,我很菜。。