PHP反序列化

PHP反序列化

序列化:(将对象转换成字符串)

反序列化:(将字符串还原成对象)

(序列化和反序列化类似于加密和解密)

技术分为:有类(class):触发魔术方法(-construct,-destruct,-wake up,-tostring)

      :无类

一般存在现实的网站,CTF中

危害:1.SQL注入

  1. 代码执行
  2. 目录遍历

Java(反序列化)二进制

Php(反序列化)xml

Js(反序列化)json

  1. (反序列化)

原理:未对用户输入的序列化字符串进行检测,导致攻击者可以进行反序列化过程,从而导致后代码执行。:SQL注入,目录遍历

无类class序列化例子o:4:”info”:2{s:4:”name”:i:2:10”;}

o:object

i:代表数据

4:数据长度

Info:对象名称

name:变量值

s:string

i:int

有分号(:)就是字符串无字符号就是赋值

有class魔术方法

_construct()创建对象时触发

_destruct()对象被销毁时触发

_call()在对象上下文被调用不可访问时触发

_callstastic()在静态上下文中调用不可访问的方法时触发

_set()用于将数据写入不可访问的属性

_isset()在不可访问的属性调用isset()或者empty()触发

_unset()在不可访问属性使用unset()触发

_invoke()当脚本尝试将对象调用为函数时触发

_set()

_get()

_isset()

_unset()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值