知识回顾: https://www.cnblogs.com/superwinner/p/17260940.html
__construct 函数只有在 new的时候会被调用,反序列化不会自动调用.
protected的变量名前会有null*null的标志,所以不能直接复制(null不会被复制下来) ![[Pasted image 20250120104527.png]] private同理,会有null+类名+null前缀 ![[Pasted image 20250120104649.png]] 可以先输出到文件里查看
反序列化逃逸:
- 数组变量中有
}会导致序列化->反序列化之后得到的数组改变
绕过:
- 正则:
/^O:[\d]/i可以在object外面套一层array,同样可以触发
/^[Oa]:[\d]/i +号绕过,如 O:+3...