当前位置: 首页 > news >正文

web安全渗透测试十大常规项(一):web渗透测试之PHP反序列化

渗透测试之PHP反序列化

  • 1. PHP反序列化
    • 1.1 什么是反序列化操作? - 类型转换
    • 1.2 常见PHP魔术方法?- 对象逻辑(见图)
      • 1.2.1 construct和destruct
      • 1.2.2 construct和sleep
      • 1.2.2 construct和wakeup
      • 1.2.2 INVOKE
      • 1.2.2 toString
      • 1.2.2 CALL
      • 1.2.2 get()
      • 1.2.2 set()
      • 1.2.2 isset()
      • 1.2.2 unset()
    • 1.3 为什么会出现安全漏洞?
    • 1.4 反序列化漏洞如何利用?- POP链构造
    • 1.5 CTFSHOW-训练链构造
      • 1.5.1 254-对象引用执行逻辑
      • 1.5.2 255-反序列化变量修改1
      • 1.5.3 256-反序列化参数修改2
      • 1.5.4 257-反序列化参数修改&对象调用逻辑
      • 1.5.5 258-反序列化参数修改&对象调用逻辑&正则
    • 1.5 PHP-属性类型-共有&私有&保护
      • 1.5.1 对象变量属性:
      • 1.5.2 序列化数据显示
    • 1.6 PHP-绕过漏洞-CVE&字符串逃逸
      • 1.6.1 CVE-2016-7124(__wakeup绕过)
      • 1.6.2 字符串逃逸
    • 1.7 PHP-原生类Tips-获取&利用&配合
      • 1.7.1 生成原生类
      • 1.7.2 本地Demo-xss
      • 1.7.3 CTFSHOW-259
    • 1.8 反序列化链项目-PHPGGC&NotSoSecure
      • 1.8.1 NotSoSecure
      • 1.8.2 PHPGGC
    • 1.9 反序列化框架利用-ThinkPHP&Yii&Laravel
      • 1.9.1 [安洵杯 2019]iamthinking Thinkphp V6.0.X 反序列化
      • 1.9.2 CTFSHOW 反序列化 267 Yii2反序列化
      • 1.9.3 CTFSHOW -反序列化 -271 -Laravel反序列化
    • 1.10 Thinkphp 反序列化链分析

1. PHP反序列化

1.1 什么是反序列化操作? - 类型转换

  • PHP & JavaEE & Python(见图)
序列化:对象转换为数组或字符串等格式
反序列化:将数组或字符串等格式转换成对象
serialize()     //将对象转换成一个字符串
unserialize()   //将字符串还原成一个对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

  • CentOS 7 内核 3.10 升级 6.5.2 (RPM 直装 + 源码编译)
  • 新建一个 React TypeScript 项目,并使用 Webpack 进行构建和打包
  • Java程序之让气球上升
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
  • git配置ssh key
  • tensorRT C++使用pt转engine模型进行推理
  • express+vue 在线五子棋(一)
  • 使用Vue开发页面(前置知识)
  • npm全局安装依赖指定存放文件目录
  • 电子电气架构——由NRC优先级引起的反思
  • 华为appgallery上架
  • 借助AI快速提高英语听力:如何获得适合自己的听力材料?
  • Python爬虫介绍
  • 2024 年值得推荐的 10 款 iPhone 数据恢复软件
  • Less与Sass的区别
  • ➹使用webpack配置多页面应用(MPA)
  • golang中接口赋值与方法集
  • HTTP那些事
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JDK 6和JDK 7中的substring()方法
  • PHP面试之三:MySQL数据库
  • vue 个人积累(使用工具,组件)
  • Vue实战(四)登录/注册页的实现
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 阿里研究院入选中国企业智库系统影响力榜
  • 复杂数据处理
  • 精彩代码 vue.js
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端性能优化--懒加载和预加载
  • 前嗅ForeSpider采集配置界面介绍
  • 线性表及其算法(java实现)
  • FaaS 的简单实践
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ‌Excel VBA进行间比法设计
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • #pragma data_seg 共享数据区(转)
  • #QT(一种朴素的计算器实现方法)
  • (13)Hive调优——动态分区导致的小文件问题
  • (175)FPGA门控时钟技术
  • (23)Linux的软硬连接
  • (3)llvm ir转换过程
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (三)Honghu Cloud云架构一定时调度平台
  • (十八)SpringBoot之发送QQ邮件
  • (四)Controller接口控制器详解(三)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • ../depcomp: line 571: exec: g++: not found
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Micro Framework 4.2 beta 源码探析