在PHP中,__wakeup()是一个魔术方法,用于在反序列化对象时自动调用。当反序列化字符串中的对象属性个数大于实际属性个数时,可以利用这个漏洞进行绕过。
触发条件:
可以使用正则表达式中的加号+来进行绕过,通过添加位置来改变类名的个数。下面是一个例子:
0:4:"Demo":1:{s:10:"Demo file";s:8:"flag.php";}
如果要进行绕过,可以使用加号来添加位置:
0:+4:"Demo":1:{s:10:"Demo file";s:8:"flag.php";}
if (preg_match('/[oc]:\d+:/i', $Svar)) {
die("stop hacking!");
} else {
unserialize($Svar);
}
BUUCTF在线评测 (buuoj.cn) 或 搜索&#x