avatar

cindahy

A text-focused Halo theme

  • 首页
  • 文章分类
  • 项目
  • 关于
Home 第37天反序列化PHP
文章

第37天反序列化PHP

Posted 2024-12-13 Updated 16 days ago
By Administrator
3~5 min read

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

serialize() //将一个对象转换成一个字符串
unserialize() //将字符串还原成一个对象

触发:unserialize函数的变量可控,文件中存在可利用的类,
      类中有魔术方法。

参考:https://www.cnblogs.com/20175211lyz/p/11403397.html
_construct() //创建对象时触发
_destruct() //对象被销毁时触发
_call() //在对象上下文中调用不可访问的方法时被触发
_callStatic() //在静态上下文中调用不可访问的方法时触发
_get() //用于从不可访问的属性读取数据
_set() //用于将数据写入不可访问的属性
_isset() //在不可访问的属性上调用isset()或empty()触发
_unset() //在不可访问的属性上使用unset()触发
_invoke() //当脚本尝试将对象调用为函数时触发

序列化之后的格式:

反序列化时会调用类中的魔术方法

演示案例:

  • PHP反序列化热身题-无类问题-本地

  • CTF反序列化-无类执行-实例

执行代码顺序问题

  • CTF反序列化-有类魔术方法触发-本地

  • 网鼎杯2020-有类魔术方法触发-实例

会自动调用destruct魔术方法,由于两个op比较的严格性不同,进行绕过,首先将op=' 2'的类序列化,将序列化后的内容传入str

小迪安全web
小迪安全web php反序列化
License:  CC BY 4.0
Share

Further Reading

Jul 6, 2025

第38天反序列化JAVA

#序列化和反序列化 序列化:将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间, 对象将其当前状态写入到临时或持久性存储区。 反序列化:从存储区中读取数据,并将其还原为对象的过程,称为反序列化。 下方的特征可以作为序列化的标志参考:

Apr 26, 2025

第36天逻辑越权之验证码与Token及接口

#验证码安全 分类:图片,手机或邮箱,语音,视频,操作等 原理;验证生成或验证过程中的逻辑问题 危害:账户权限泄露,短信轰炸,遍历,任意用户操作 漏洞:客户端回显(已讲),验证码复用,,验证码爆破(已讲),绕过等 #token安全 基于上述同理,主要是验证中可存在绕过可继续后续测试 token爆破

Apr 26, 2025

第35天逻辑越权之找回机制及接口安全

#找回重置机制 客户端回显(验证码显示在客户端),Response状态值,验证码爆破,找回流程绕过(抓包跳过验证流程)等 #接口调用乱用 来电轰炸,短信轰炸等 演示案例: 找回密码验证码逻辑-爆破测试-实例 墨者靶场密码重置-验证码套用-靶场 手机号码,新密码和验证码在同一界面, 填写手机号,得

OLDER

第32天文件下载读取全解

NEWER

第29天CSRF及SSRF漏洞案例讲解

Recently Updated

  • 常见安全产品整理(防火墙,WAF,EDR)
  • ELK从入门到实践
  • bp+mumu模拟器app抓包
  • xray漏扫工具
  • Java反序列化-RMI的几种攻击方式

Trending Tags

安全运营 文件上传 php反序列化 xss csrf ssrf xxe sql php 白帽子讲web安全

Contents

©2025 cindahy. Some rights reserved.

Using the Halo theme Chirpy