php __destruct反序列化

一、php __destruct反序列化简介

  本文主要介绍基于CTF的PHP中的反序列化(序列化)的基础知识。

二、php __destruct反序列化介绍

  虽然是介绍反序列化,但是实际上是序列化和反序列化的组合介绍,此处先从正向过程序列化开始介绍。

  序列化是将变量按照特定规则转化为字符串的过程,而反序列化就是将转化后字符串重新恢复成各种变量数据类型的过程,序列化对应的函数是serialize()而反序列化则是unserialize()。

序列化转化规则:

序列化规则即如图(最外层一对双引号为var_dump()函数输出内容时自带的,并不包含在序列化之后的内容中),大致为:数据类型代号字符+数据长度(字符串数据才有)+数据内容。其中的类序列化得到的字符串在花括号外层是:类的代号字符+类名长度+类的名称+类属性的个数,内层则是类的各种属性序列化结果的拼接(类属性的名称也按照相同规则进行了序列化),CTF中的反序列化则是和类序列化和反序列化有关。

类的序列化:

根据类中属性的不同,序列化之后会得到三种不同的序列化字符串。

php __destruct反序列化原理相关推荐

  1. php反序列化漏洞原理,PHP反序列化原理及漏洞解析

    什么是PHP序列化 PHP序列化与反序列化的过程 一个反序列化漏洞的例子 CVE-2016-7124 一. 什么是PHP序列化与反序列化 1. PHP序列化 PHP序列化是指把变量转化成可保存或传输的 ...

  2. Zookeeper——序列化与反序列化原理

    摘要 我们大概清楚了使用 ZooKeeper 实现一些功能的主要方式,也就是通过客户端与服务端之间的相互通信.那么首先要解决的问题就是通过网络传输数据,而要想通过网络传输我们定义好的 Java 对象数 ...

  3. 序列化与反序列化原理

    一,Java 领域的对象如何传输 1,基于 socket 进行对象传输 User @Data public class User {private String name; } SocketServe ...

  4. shiro550反序列化漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

    漏洞原理 本文所有使用的脚本和工具都会在文末给出链接,希望读者可以耐心看到最后. 啥是shiro? Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证.授权.密码和会话管理. ...

  5. PortSwigger 基于不安全的反序列化漏洞

    一.反序列化漏洞简单介绍 反序列化漏洞是指攻击者通过在应用程序中注入恶意的序列化对象来利用应用程序的反序列化功能,从而导致应用程序受到攻击的漏洞. 在一些编程语言和应用程序中,对象可以被序列化为一些字 ...

  6. 反序列化漏洞分析讲解

    一.什么是反序列化 1.1 漏洞简介 PHP反序列化漏洞也叫PHP对象注入,是一个非常常见的漏洞,这种类型的漏洞虽然有些难以利用,但一旦利用成功就会造成非常危险的后果.漏洞的形成的根本原因是程序没有对 ...

  7. Thinkphp 反序列化深入分析pop利用链

    Thinkphp 反序列化深入分析 环境搭建 铺垫知识 漏洞起点 rce部分起点 代码执行点分析 最终POC 环境搭建 Thinkphp 5.1.37 ----- 应该是5.1.x可以 php 7.0 ...

  8. web漏洞“小迪安全课堂笔记”反序列化PHPJAVA

    小迪安全课堂笔记反序列化 PHP思维导图 php反序列化 PHP反序列化热身题-无类问题-本地 CTF反序列化小真题-无类执行-实例 CTF反序列化练习题-有类魔术方法触发-本地 网鼎杯2020青龙大 ...

  9. BurpWeb安全学院之不安全的反序列化

    文章目录 介绍 1. 如何识别不安全的反序列化 1.1. PHP序列化格式 1.2 Java序列化格式 2. 操作序列化对象 2.1. 修改对象属性 介绍 实验 2.2. 修改数据类型 介绍 实验 3 ...

最新文章

  1. php怎么复制变量,php - 将用户名保留在变量/函数中供以后使用[复制] - SO中文参考 - www.soinside.com...
  2. 不懂技术的人请不要对懂技术的人说这很容易
  3. 网鼎杯SQLI+反序列化读取文件题解
  4. 开发日记-20190827 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 3
  5. web 界面设计 Axure元件样式
  6. 被黑客盯上了…数据都给打包带走了…
  7. 解决 -- 代码没有问题时接口报错:Status Code: 404 Not Found
  8. 叙述计算机网络拓扑结构的定义,计算机网络拓扑结构的定义
  9. 14-mysql-分页查询
  10. 怎么看b树是几阶_数据库原理基础:设计B树与B+树的目的以及二者的优劣
  11. 会计基础第八章内容2
  12. 花了半个多小时,纯手点,为500多人点赞
  13. break;continue语句
  14. Android项目-IPTV经验总结
  15. 220套html模版百度云,220套静态网页模板
  16. 布线问题----回溯法
  17. 感性电路电流计算_电路分析基础(10)-电路以及信号的功率和能量
  18. Linux网络问题排查
  19. Linux 系统Error starting userland proxy: listen tcp4 0.0.0.0:xx端口: bind: address already in use的端口占用问题
  20. 给div添加漂亮的边框背景图

热门文章

  1. Oracle获取一周前,一个月前,一年前的日期
  2. MATLAB数学经典建模之风扇特性:流量 随 压比函数值变化的图形 (2 维图形)
  3. Intel x86体系结构的资料
  4. Ubuntu下安装Datax-web数据交换平台
  5. 记一次greenplum集群数据库连接慢的问题定位
  6. PTA—7-5 谷歌的招聘
  7. ubuntu16.04安装PCRE库
  8. 【决策状态机FSM(finite state machine)梳理】
  9. 数据库设计(电商平台)
  10. java查询个人信息_java实例之查询个人信息