7 CTF之旅WEB篇--[NPUCTF2020]ReadlezPHP

一、审题
打开题目发现是一个帅帅的界面
发现没什么有用的,那就f12康康有什么有用的,仔细查看每一个标签发现有一个网址 ./time.php?我们跟着点进去一看发现是一段源代码,那这里就是解题的入口了
看到 就知道这道题是php反序列化了,所以接下来就是php反序列化做题流程 。
二、找出目标函数,并寻找序列化入口
这题反序列化链很短,入口即终点,我们跟进():
public function __destruct(){$a = $this->a;$b = $this->b;echo $b($a);}
发现echo $b($a)那么这里就是个危险函数了也是我们的解题的最终步骤,在这里我们就需要认识一个函数了()即可以把传入的参数当成php代码执行,那这就好办了我们只需要将$b赋值为,$a赋值为我们需要执行的php代码就可以达到任意命令的执行 。
三、编写脚本
直接上代码:

得到序列化字符串O:8:"":2:{s:1:"a";s:9:"()";s:1:"b";s:6:"";},并赋值给data进行get传参,即具体url为:/time.php?data=http://www.kingceram.com/post/O:8:"":2:{s:1:"a";s:9:"()";s:1:"b";s:6:"";} 可以发现成功执行()
【7CTF之旅WEB篇--[NPUCTF2020]ReadlezPHP】搜索一下flag{即可发现flag