[NPUCTF2020]ReadlezPHP

在网址前面加上view-source:就行了,可以看到源代码
之后再代码里找到一个

进去之后是这样的

所以我们看看这个代码
这道题的flag在phpinfo里面,所以,我们要做的就是进入这个界面,所以,想到通过data传一个命令去打开phpinfo
同时输出的事$b($a)
所以猜测是重新传输一个a和b上去
<?php |
使用这个去实现序列化,然后将结果传给data
所以随后的payload为:
?data=O:8:"HelloPhp":2:{s:1:"a";s:9:"phpinfo()";s:1:"b";s:6:"assert";} |
之后就进去了phpinfo界面
查找flag

知识点:
assert()断言函数
assert — 检查一个断言是否为 false
assert(mixed $assertion, Throwable $exception = ?): bool
如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行。