反序列化漏洞【1】

1.不安全的反序列化漏洞介绍

序列化:将对象转换成字符串,目的是方便传输,关键词serialize

a代表数组,数组里有三个元素,第一个元素下标为0,长度为7,内容为porsche;第二个元素下标为1,长度为3,内容为BMW;第三个元素下标为2,长度为5,内容为Volvo。

反序列化:将特定的字符串转换对象,关键词unserialize

反序列化成功

反序列过程可以进行xss、代码执行eval、文件包含include

2.类和对象概念

类:抽象的东西,归类

对象:具体的东西==把类 实例化就是对象

类型:类名的长度:‘类名‘:属性的数量:{s:4:"属性1 ";s:6:"值1";}

3.php类区别

介绍
public表示全局,类内部外部子类都可以访问【随便改】
private表示私有的,只有本类内部可以使用【不能继承】
protected表示受保护的,只有本类或子类或父类中可以访问【只能使用不能修改】

类可以继承【父类子类】和覆盖,继承关键词extends,覆盖关键词public

4.魔法函数PHP

construct():在创建一个对象时自动调用的构造函数。可以用来初始化对象的属性或执行其他必要的操作。

destruct():在一个对象被销毁之前自动调用的析构函数。可以用来执行一些清理操作,如关闭数据库连接或释放资源。

get:在访问一个对象的属性不存在或不可访问时自动调用。可以用来动态获取或计算属性的值。

set():在给一个对象的属性值时自动调用。可以用来对属性进行过滤或验证,或执行其他必要的操作。

isset():在使用isset()函数判断一个对象的属性是否存在时自动调用。可以用来检测属性是否存在或是否具有特定的值。

unset():在使用unset()函数销毁一个对象的属性时自动调用。可以用来执行一些清理操作,如释放内存或删除临时文件。

call():在调用一个对象的不存在或不可访问的方法时自动调用。可以用来实现对象的动方法调用。

callStatic():在调用一个类的不存在或不可访问的静态方法时自动调用。可以用来实现类的动态方法调用。

toString():在将一个对象转换为字符串时自动调用。可以用来定义对象的字符串表示形式。

invoke():在将一个对象作为函数调用时自动调用。可以用来将对象作可调用的函数使用。

clone():在克隆一个对象时自动调用。可以用来执行一些必要的操作,如复制对象的属性或初始化新对象。

sleep():在将一个对象序列化为字符串时自动调用。可以用来决定对象序列化时需要保存哪些。

wakeup():在将一个字符串反序列化为对象时自动调用。可以用来恢复对象的状态或执行其他必要的操作。

set_state():在使用var_export()导出一个对象时自动调用。可以用来定义对象的导出行为。

debugInfo():在使用var_dump()或print_r()打印一个对象时自动调用。可以用来定义对象的调试信息。

5.php反序列化应用-文件包含

获取payload可先序列化后获得

源代码获取payload

若代码var后面是echo,可进行xss,若代码是写文件或包含效果,如require ,可进行文件包含,若代码存在eval,可进行函数调用

6.Java 反序列化漏洞--工具

php反序列化漏洞看代码,java反序列化漏洞需利用工具

7.反序列化漏洞防范

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工作达人的小秘密

在快节奏的工作环境中,想要提升效率,保持头脑清晰?别急,我这就为你揭秘我的几大法宝,让我们一起探索它们如何助你事半功倍! 1️⃣【亿可达】 它是一款自动化工具,相当于国内版免费的zaiper。它…

新手也能看懂的前端单元测试框架:Vitest

单元测试的概念及作用 1.什么是单元测试? 单元测试是测试中的一个重要环节,它针对软件中的最小可测试单元进行验证,通常是指对代码中的单个函数、方法或模块进行测试。 单元测试旨在确定特定部分代码的行为是否符合预期,通过针…

LearnOpenGL(十八)之面剔除

一、面剔除 对于一个3D立方体,无论我们从哪个方向,最多只能同时看到3个面。如果我们能够以某种方式丢弃另外几个看不见的面,我们就能省下超过50%的片段着色器执行数! 这正是面剔除(Face Culling)所做的。OpenGL能够检查所有面向…

在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan、路由、网桥等)

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! 在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan等)https://myweb.myskillstree.cn/123.html 更新于2024/5/13&…

定时发圈操作介绍

1、登陆已有的账号,点击到"朋友圈"功能 2、选择要发圈的微信号,编辑发圈的文案内容 3、自定义想要的时间点 4、点击"立即发送" 5、可进行跟圈

AquaCrop模型运行及结果分析、代码解析;气象、土壤、作物和管理措施等数据的准备和输入;农业水资源管理

目录 专题一 模型原理与数据要求 专题二 模型数据准备 专题三 模型运行及结果分析 专题四 参数分析 专题五 源代码分析 更多应用 AquaCrop是由世界粮食及农业组织(FAO)开发的一个先进模型,旨在研究和优化农作物的水分生产效率。这个模型…

Invalid bound statement (not found) 六种解决方法

前五种参考博文: Invalid bound statement (not found) 五种解决方法-CSDN博客 第六种: 在启动类上加上MapperScan,指定扫描包

【刷题篇】二分查找(二)

文章目录 1、山脉数组的峰顶索引2、寻找峰值3、寻找旋转排序数组中的最小值4、LCR 点名 1、山脉数组的峰顶索引 符合下列属性的数组 arr 称为 山脉数组 &#xff1a; arr.length > 3 存在 i&#xff08;0 < i < arr.length - 1&#xff09;使得&#xff1a; arr[0] &l…

线性模型快速入门

使用matplotlib画一条直线 import numpy as np import matplotlib.pyplot as pltx np.linspace(-5, 5, 100) y 0.5*x 3plt.plot(x, y, c"orange") plt.title("Straight Line") plt.show()线性模型的直线表示 import numpy as np import matplotlib.py…

我与C++的爱恋:string类的常见接口函数

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 朋友们大家好啊&#xff0c;本节我们来到STL内容的第一部分&#xff1a;string类接口函数的介绍 ​ ​ 1.string类的认识 给大家分享一个c文档 https://legacy.cplusplus.…

详细教程!VMware Workstation Pro16 安装 + 创建 win7 虚拟机!

嚯嚯嚯&#xff0c;很多宝子都想拥有自己不同的操作系统环境&#xff0c;用于学习或项目搭建。买服务器费钱&#xff0c;虚拟机则成为了一个很好的选择。本文详细介绍VMware Workstation Pro 16安装及win7虚拟机创建&#xff0c;保姆级教程奉上&#xff01; 一、准备工作 VMw…

【Android】重写onClick方法时,显示Method does not override method from its supperclass

问题 重写onClick方法时&#xff0c;显示Method does not override method from its supperclass 解决 在类上加implements View.OnClickListener

SC8908电机驱动芯片替代AN41908

SC8908 描述 五路H桥静音驱动电机驱动芯片&#xff0c;闭环直流电机光圈调节&#xff0c;支持霍尔位置检测&#xff0c; 2个步进电机。步进电机驱动带256微步细分。 主要特性 • 步进驱动H桥每路250mA最大驱动电流 • 光圈直流驱动H桥每路150mA最大驱动电流 • 单独…

C# WinForm —— 21 RichTextBox 使用

1. 加载文件到控件中 加载文件时&#xff0c;要设置文件的路径和类型RichTextBoxStreamType&#xff0c;文件类型包含&#xff1a; RichText 0&#xff1a;富文本格式&#xff08;RTF&#xff09;流PlainText 1&#xff1a;纯文本流对象链接和嵌入&#xff08;OLE&#xff…

UE4_环境_局部雾化效果

学习笔记&#xff0c;不喜勿喷&#xff01;侵权立删&#xff01;祝愿大家生活越来越好&#xff01; 本文重点介绍下材质节点SphereMask节点在体积雾中的使用方法。 一、球体遮罩SphereMask材质节点介绍&#xff1a; 球体蒙版&#xff08;SphereMask&#xff09; 表达式根据距…

Win11把应用程序添加到开机自启动中

通过WinR命令打开“运行”&#xff0c;输入shell:startup 进入到如图目录&#xff1a; 将想要自动启动的应用的快捷方式都拷贝进来。 之后在任务管理器中就能发现它了。

使用vcpkg与json文件自动安装项目依赖库

说明 本文记录自己使用vcpkg.json文件自动安装依赖库并完成编译的全过程。 关于vcpkg是什么这里就不多详细解释&#xff0c;可以看一下专门的介绍及安装的文章&#xff0c;总之了解这是一个C的包管理工具就可以了。 流程 下面介绍从GitHub上克隆C项目以及为这个项目安装所需…

python文件操作常用方法(读写txt、xlsx、CSV、和json文件)

引言 用代码做分析的时候经常需要保存中间成果&#xff0c;保存文件格式各不相同&#xff0c;在这里好好总结一下关于python文件操作的方法和注意事项 Python 提供了丰富的文件操作功能&#xff0c;允许我们创建、读取、更新和删除文件。允许程序与外部世界进行交互。 文章目录…

冯喜运:5.15黄金原油晚盘分析:鲍威尔再放鹰,降息悬念重重

【黄金消息面分析】&#xff1a;在全球经济动荡和通胀预期不断上升的背景下&#xff0c;黄金作为传统的避险资产&#xff0c;再次成为投资者关注的焦点。当前&#xff0c;黄金价格交投于2370美元/盎司左右&#xff0c;连续两日日线呈现上涨趋势&#xff0c;而白银价格也在连续三…

二进制搭建k8s

实验环境&#xff1a; k8s集群master01:192.168.1.11 k8s集群master02:192.168.1.22 master虚拟ip&#xff1a;192.168.1.100 k8s集群node01:192.168.1.33 k8s集群node01:192.168.1.44 nginxkeepalive01&#xff08;master&#xff09;:192.168.1.55 nginxkeepalive02&a…