PHP反序列化新手入门学习总结上

最近写了点反序列化的题,才疏学浅,希望对CTF新手有所帮助,有啥错误还请大师傅们批评指正。

php反序列化简单理解

首先我们需要理解什么是序列化,什么是反序列化?

PHP序列化:serialize()

序列化是将变量或对象转换成字符串的过程,用于存储或传递PHP的值的过程中,同时不丢失其类型和结构。

而PHP反序列化:unserialize()

反序列化是将字符串转换成变量或对象的过程

通过序列化与反序列化我们可以很方便的在PHP中进行对象的传递。本质上反序列化是没有危害的。但是如果用户对数据可控那就可以利用反序列化构造payload攻击。这样说可能还不是很具体,举个列子比如你网购买一个架子,发货为节省成本,是拆开给你发过去,到你手上,然后给你说明书让你组装,拆开给你这个过程可以说是序列化,你组装的过程就是反序列化

说这么多不如直接一点测试一下

php序列化的字母标识

a-array

b-boolean

d-double

i-integer

o-


转载请注明:http://www.aierlanlan.com/cyrz/8052.html