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

news2024/10/24 20:12:15

渗透测试之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()   //将字符串还原成一个对象

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1842747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Js-w3school(2024(1)

10.访问 HTML 元素 使用“不整洁的” HTML 样式的后果,也许是导致 JavaScript 错误。请在 HTML 中使用相同的命名约定(就像 JavaScript 那样) 11. 请使用正确的文档类型 请始终在文档的首行声明文档类型: 如果您一贯坚持小写标…

数据结构之B数

目录 1.概述 2.特点 3.诞生 4.优缺点 4.1.优点 4.2.缺点 5.应用场景 6.C语言中的B树实现例子 7.总结 1.概述 B树(B-tree)是一种自平衡的树数据结构,广泛应用于数据库和文件系统中,以便高效地进行顺序读取、写入以及查找…

南京邮电大学计算机网络实验一(网络操作系统的安装与配置)

文章目录 一、 实验目的和要求二、 实验环境(实验设备)三、 实验原理和步骤四、 实验小结(包括问题和解决方法、心得体会、意见与建议等)(一)问题和解决方法(二)心得体会(三)意见与建…

osgearth提示“simple.earth: file not handled”

在用vcpkg编译完osg和osgearth后,为了验证osgearth编译是否正确,进行测试,模型加载代码如下: root->addChild(osgDB::readNodeFile("simple.earth")); 此时以为是simple.earth路径的问题,遂改为以下代码…

AI交互数字人如何赋能数智教育?

随着AI交互数字人技术的飞速发展,教育领域正经历着前所未有的变革。AI交互数字人为教育领域注入了全新活力,重塑着教学模式,为学生带来沉浸式学习体验。 AI交互数字人在教育领域中,可以应用在: 1、个性化学习教学指导…

不适合编程的人是怎样的?

你知道不适合编程的人是怎样的吗?其实,对编程没有兴趣的人往往都不适合从事编程工作。编程并非是一项轻松简单的任务,它需要投入大量的时间和精力。 编程领域有其独特的特点和要求。首先,编程有着相当陡峭的学习曲线。从最基础的语…

分布式锁三种方案

基于数据库的分布式锁(基于主键id和唯一索引) 1基于主键实现分布式锁 2基于唯一索引实现分布式锁 其实原理一致,都是采用一个唯一的标识进行判断是否加锁。 原理:通过主键或者唯一索性两者都是唯一的特性,如果多个…

二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面

二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面 二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面

如何使用React的lazy和Suspense来实现代码分割?

在React中,使用React.lazy和Suspense可以方便地实现组件的代码分割。代码分割是一种优化技术,它将代码拆分成多个包,然后按需加载这些包,从而加快应用的初始加载时间。下面是如何使用这两个API的基本步骤: 使用React.l…

24上软考成绩预计6月底公布?附查分指南

最近,很多小伙伴都在问上半年成绩什么时候出来?每天学习群变成了祈祷群,都在祈祷45,45,45。按照上一次的成绩发布时间,从考试结束到成绩发布,间隔了32天。这次是不是会更快? 一般阅卷只要7-10天&#xff0c…

深入探究RTOS的IPC机制----邮箱

阅读引言: 因为将来工作需要, 最近在深入学习OS的内部机制,我把我觉得重要的、核心的东西分享出来, 希望对有需要的人有所帮助, 阅读此文需要读友有RTOS基础, 以及一些操作系统的基础知识, 学习…

基于SSM+Jsp的书店仓库管理系统

摘要:仓库作为储存货物的核心功能之一,在整个仓储中具有非常重要的作用,是社会物质生产的必要条件。良好的仓库布局环境能够对货物进入下一个环节前的质量起保证作用,能够为货物进入市场作好准备,在设计中我们根据书店…

Vue与SpringSecurity认证整合-06

Vue与SpringSecurity整合 我们要知道springsecurity是一个安全框架,我们在后端的时候没有接触前端,springsecurity引入依赖之后,启动项目会对我们进行拦截,让我们登录,然后我们制定了一个登录页面,也是后端的,我们可以指向我们的登录页面,但是与Vue整合之后,登录页面肯定是在Vu…

【JavaScript复习二】选择结构if和Switch(1)

### []( )2、单分支条件分支语句if (条件表达式) { // 条件为真时,做的事情 } else { // 条件为假时,做的事情 } ### []( )2,、多分支的 if 语句if (条件表达式1) { // 条件1为真时,做的事情} else if (条件表达式2) { // 条件1不满足&…

打造完美启动页:关键策略与设计技巧

启动页(Splash Screen)设计是指在应用程序启动时,首先展示给用户的界面设计。这个界面通常在应用加载或初始化期间显示,其主要目的是为用户提供一个视觉缓冲,展示品牌标识,并减少用户在等待过程中的焦虑感。…

kafka基础概念

目录 1、kafka简介 2、kafka使用场景 3、kafka基础概念 3.1、消息 3.1.1、消息构成详解 3.1.2、消息存储设计 3.2、topic 3.3、partition 3.4、offset 3.5、replication 3.5.1、replication简介 3.5.2、副本角色 3.5.3、副本类型 3.5.3.1、副本类型简介 3.5.3.2、…

【前端开发工具】VS Code安装和使用

文章目录 一、前言二、下载三、安装四、配置五、使用5.1 导入项目5.2 本地运行项目5.3 修改界面文案,验证效果5.4 添加日志打印5.5 代码调试5.6 代码提交到Git仓库 六、总结 一、前言 本文介绍一下在前端vue项目中,VS Code的安装和配置。 什么是VS Code…

最新版本的MathType软件2024最新和谐绿色版下载

🌟 数学公式的美学,MathType全新升级! 亲爱的笔记本小达人,你是否曾为在文档中插入美观又准确的数学公式而头疼?今天,我就来给你种草一个神奇的工具 —— 最新版本的MathType软件!&#x1f389…

React Native性能优化红宝书

一、React Native介绍 React Native 是Facebook在React.js Conf2015 推出的开源框架,使用React和应用平台的原生功能来构建 Android 和 iOS 应用。通过 React Native,可以使用 JavaScript 来访问移动平台的 API,使用 React 组件来描述 UI 的…

PhotoShop自动生成号码牌文件

1、说明 设计卡牌的时候,遇到自动生成编号,从01500到-02500,一个一个的手写,在存储保存成psd格式的文件,会很耗时。 下面将介绍如何使用ps自动生成psd格式的文件 2、使用excle生成数字 从01500到-02500 第一步&…