PHP反序列化基础知识

本文阅读 2 分钟
首页 安全分享,WEB安全 正文

反序列化的作用

为了有效的存储或传输数据,同时不丢失其类型和结构,经常需要序列化和反序列化的函数对数据进行处理 序列化:返回字符串,此字符串包含了标识value的字节流,可以存储于任何地方 反序列化:对单一的已序列化的变量进行操作,将其转换回来的值 这两个过程结合起来,可以轻松地存储和传输数据,时程序更具有维护性 在PHP语言中常见的系列化和反系列化方式主要有:serialize、unserialize、json_encode、json_decode

反序列化函数

serialize()--序列化

img

img

O=object 

4=len(Test)

3=$a,$b,$c

{
<!-- -->

s:len(a):a; s:len(publica):publica;

$a="publica"

s:len(%00%00b):b; len(protectedb):protectdeb;

$b="protectedb"

s:len(%00Test%00c):Testc; len(privatec):privatec;

$c="privatec"

}

public——a

protected——%00*%00b

private——%00Test%00c

unserialize()--反序列化

img

魔法函数

_construct()和_destruct()

_construct()对象初始化

_destruct()对象销毁

img

img

_get()和_set()

_get()获取对象不存在的属性或无法访问的属性时调用

_set()设置对象不存在的属性或无法访问的属性时调用

img

img  

_isset()和_unset()

_isset()调用方法isset()方法决断不可访问的类属性时调用

_umset()调用方法unset()方法删除不可访问的类属性时调用

img

img img

_sleep()和_wakeup()

_sleep()调用searialize()方法时调用,返回值为数组,标识需要序列化的数据项

_wakeup()调用unsearialize()方法时调用

img

_toString()

img

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/m0_63127854/article/details/125156868
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复