换句话来说, 一个类的对象, 像这种具有层级结构的数据,你没办法直接像文本那样存储,所以我们必须采取某种规则将其文本化(流化),反序列化的时候再复原它。
这里我们可以举一个例子:
创建了一个新的对象”(复原一个对象可能更恰当),
并赋予其相应的属性值,在反序列过程中,如果让攻击者任意反序列数据, 那么攻击者就可以实现任意类对象的创建...我们可以这样理解,因为序列化本身就是存储一个已经初始化的的对象的值了,
所以没必要去执行__construct,或者说序列化过程本身没有创建对象这一过程,所以说挖掘PHP反序列化最重要的一步就是通读系统所有的...A中包含另外一个类B的对象, 然后通过该B对象调用其方法,从而将利用链转移到另外一个类B,
只不过这些方法具备了”自动触发”性质,从而能够实现自动POP到具有RCE功能的类中去。...简单理解就是分类的标签, 更加简单的理解就是我们常见的目录(其作用就是发挥了命名空间的作用)
用处:
1.解决用户编码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突
2.为很长的标识符名称创建一个别名的名称