首页 > 编程语言 >反序列化之PHP

反序列化之PHP

时间:2023-09-19 13:13:46浏览次数:36  
标签:触发 有类 PHP 魔术 字符串 序列化

PHP反序列化原理:

未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导 致代码执行、SQL注入、目录遍历等不可控后果。在反序列化的过程中自动触发了某些魔术 方法。当进行反序列化的时候就有可能会触发对象中的一些魔术方法。 

php序列化与反序列化的关键函数: 

serialize() 将一个对象转换成字符串 

unserialize() 将字符串还原成一个对象

序列化后内容格式:object=对象

 图片中有些问题,如果对象是数值型时,不需要写长度,并且不加双引号,比如上边的正确 写法是i:19;

 输出的结果是s:9:"xiaodi123"; 

小知识:==是值相等、===是全相等,值类型也要相同 

区分反序列化用到的技术有类与无类可以通过看是否有class有即为有类,有类的地方就会 有魔术方法,

https://www.cnblogs.com/20175211lyz/p/11403397.html

目前的理解就是当代码运行中触发了某条件,对应的魔术方法就会被执行 对于有类的ctf题目,只需要分析代码,触发什么条件会输出什么,分析后输入相应的序列 化字符串,即可。

 

翻译

搜索

复制

<iframe></iframe>

标签:触发,有类,PHP,魔术,字符串,序列化
From: https://www.cnblogs.com/TinKode123/p/17714349.html

相关文章

  • 反序列化之JAVA
    Java中的API实现: 位置:Java.io.ObjectOutputStreamjava.io.ObjectInputStream序列化:ObjectOutputStream类-->writeObject() 注:该方法对参数指定的obj对象进行序列化,把字节序列写到哟个目标输出流中,按Java 的标准约定是给文件一个.ser扩展名 反序列化:ObjectInputStream类-->......
  • 基于php+webuploader的大文件分片上传,支持断点续传,带进度条
    基于php+webuploader的大文件分片上传,带进度条,支持断点续传(刷新、关闭页面、重新上传、网络中断等情况)。文件上传前先检测该文件是否已上传,如果已上传提示“文件已存在”,如果未上传则直接上传。视频上传时会根据设定的参数(分片大小、分片数量)进行上传,上传过程中会在目标文件夹......
  • 自定义全局反序列化器
    以处理LocalDateTime格式的全局反序列化器为例,全局序列化器类似1、全局反序列化器代码importcom.fasterxml.jackson.annotation.JsonFormat;importcom.fasterxml.jackson.core.JsonParser;importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml......
  • 序列化器
    序列化器作用1、序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串,即把数据库的表数据转换成客户端的json格式并返回2、反序列化,反序列化器会把客户端发送过来的数据。经过request以后变成字典,序列化器可以把字典转成模型3、反序列化,完......
  • php-fpm高占用cpu处理
    最近服务器经常发现php-fpm进程cpu总数时不时就100%,提高cpu核数也还是一样废话不多说,直接说解决方案:一、先说说php-fpm三种子进程的管理方式pm=static静态,始终保持一个固定数量的子进程,这个数由(pm.max_children)定义,这种方式很不灵活,也通常不是默认的。pm=dynamic动态,在更......
  • php上传断点续传
    Ⅰ求php上传大文件的三种解决方案第一种是使用第三方的存储空间,这种比较方便,也不需要你做什么,直接请求接口就好啦。第二种可以使用ftp方式进行大文件上传,支持断点续传。第三种是用php调用服务端程序来上传,比如调用python等等开发的上传功能ⅡPHP大文件上传,支持断点续传,求具体......
  • 使用JavaScript或PHP限制垃圾邮件信息
    要限制垃圾邮件信息,可以使用JavaScript和PHP来执行以下方法:使用JavaScript限制垃圾邮件信息:表单验证:通过在表单提交之前使用JavaScript对输入的数据进行验证。可以检查电子邮件地址的格式、必填字段的输入以及其他特定规则。验证码:在表单中添加验证码字段,要求用户输入生成的验证码......
  • PHPStudy hosts文件可能不存在或被阻止打开及同步hosts失败问题
    在使用PHPStudy建站包时,有时会遇到同步hosts失败的问题,可能是因为hosts文件不存在或被阻止打开。这个问题通常可以通过以下几个步骤解决:步骤一:检查hosts文件是否存在首先,我们需要检查一下hosts文件是否存在。在Windows系统中,hosts文件位于C:\Windows\System32\drivers\etc\目录......
  • php多张图片拼接成长图
     $pic_list=array('images/temp/5.png','images/temp/6.png','images/temp/7.png','https://www.baidu.com/image/202309/202309180921113826.jpg',);functionmergeImage($imgUrls,$saveLocalPath){......
  • 深度比较常见库中序列化和反序列化性能的性能差异
    背景和目的本文介绍了几个常用的序列化和反序列化库,包括System.Text.Json、Newtonsoft.Json、Protobuf-Net、MessagePack-Net,我们将对这些库进行性能测评库名称介绍Github地址System.Text.Json.NETCore3.0及以上版本的内置JSON库,用于读写JSON文本。它提供了高性能......