PHP反序列化漏洞
一,什么是序列与反序列
序列就是把数据转成可逆的数据结构,目的是方便数据的储存和传输,反序列就是将数据逆转成原来的状态,序列就是拆数据,使得传输或储存更容易的过程,反序列就是重新拼凑还原数据的过程。
二,PHP中的反序列方法
PHP通过string serialize ( mixed $value )和mixed unserialize ( string $str )两个函数实现序列化和反序列化。
序列化:serialize()将一个对象转换成一个字符串。反序列化:unserialize()将字符串还原为一个对象。
PHP(反)序列化有关的魔法函数
① void __wakeup ( void )
unserialize( )会检查是否存在一个_wakeup( ) 方法。如果存在,则会先调用_wakeup 方法,预先准备对象需要的资源。
② void __construct ([ mixed $args [, $... ]])
具有构造函数的类会在每次创建新对象时先调用此方法。
③ voi