**一.**在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数。
序列化serialize()
序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象:
class S{
public $test=“pikachu”;
}
s=newS();//创建一个对象serialize(s=new S(); //创建一个对象 serialize(s=newS();//创建一个对象serialize(s); //把这个对象进行序列化
序列化后得到的结果是这个样子的:O:1:“S”:1:{s:4:“test”;s:7:“pikachu”;}
O:代表object
1:代表对象名字长度为一个字符
S:对象的名称
1:代表对象里面有一个变量
s:数据类型
4:变量名称的长度
test:变量名称
s:数据类型
7:变量值的长度
pikachu:变量值
**二.**反序列化unserialize()
就是把被序列化的字符串还原为对象,然后在接下来的代码中继续使用。
$u=unserialize(“O:1:“S”:1:{s:4:“test”;s:7:“pikachu”;}”);
echo $u->test; //得到的结果为pikachu
序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题
常见的几个魔法函数:
__construct()当一个对象创建时被调用

    __destruct()当一个对象销毁时被调用__toString()当一个对象被当作一个字符串使用__sleep() 在对象在被序列化之前运行__wakeup将在序列化之后立即被调用漏洞举例:class S{var $test = "pikachu";function __destruct(){echo $this->test;}}$s = $_GET['test'];@$unser = unserialize($a);payload:O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}**四.** 在反序列化窗口中添加内容提交给后台




五.XXE外部实体引用payload

PHP反序列化漏洞(什么是反序列化漏洞及操作)相关推荐

  1. php反序列化漏洞原理,PHP反序列化原理及漏洞解析

    什么是PHP序列化 PHP序列化与反序列化的过程 一个反序列化漏洞的例子 CVE-2016-7124 一. 什么是PHP序列化与反序列化 1. PHP序列化 PHP序列化是指把变量转化成可保存或传输的 ...

  2. jenkins java反序列化_Jenkins “Java 反序列化”过程远程命令执行漏洞

    ###漏洞原理 反序列化是指特定语言中将传递的对象序列化数据重新恢复为实例对象的过程,而在这个过程中会执行一系列的字节流解析和对象实例化操作用于恢复之前序列化时的对象.在原博文所提到的那些 Java ...

  3. java 漏洞挖掘_Java反序列化漏洞的挖掘、攻击与防御

    一.Java反序列化漏洞的挖掘 1.黑盒流量分析: 在Java反序列化传送的包中,一般有两种传送方式,在TCP报文中,一般二进制流方式传输,在HTTP报文中,则大多以base64传输.因而在流量中有一 ...

  4. rmi反序列化导致rce漏洞修复_RMI反序列化漏洞分析

    原创:Xman21合天智汇 一.RMI简介 首先看一下RMI在wikipedia上的描述: Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Ja ...

  5. 漏洞复现——shiro反序列化

    今天咱们的主角是shiro反序列化命令执行漏洞.该漏洞在HVV等大型攻防项目中,经常被作为突破口.简单介绍了解一下还是很有必要的.废话不多说,进入正题. 一.漏洞描述: Apache Shiro是美国 ...

  6. FastJson1.2.24反序列化导致任意命令执行漏洞复现(CVE-2017-18349)

    #FastJson1.2.24反序列化导致任意命令执行漏洞(CVE-2017-18349)# 一.漏洞简介 Pippo是一款基于Java的Web框架.FastjsonEngine是其中的一个JSON处 ...

  7. 反序列化漏洞例子——fastjson反序列化漏洞的调试与分析

    文章目录 环境 fastjson介绍 漏洞原理 反序列化漏洞一 影响版本 基于JNDI注入的利用链 调试一下 基于JdbcRowSetImpl的利用链 JNDI LDAP 限制 JNDI+RMI利用 ...

  8. 每天一个漏洞之——shiro反序列化

    每天一个漏洞之--shiro反序列化 原因:Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie.在服务端对rememberMe的 ...

  9. java反序列化weblogic_[Todo]Java反序列化-weblogic

    从weblogic开始 weblogic是什么 中间件(Middleware),Oracle定义中间件的组成包括Web服务器.应用程序服务器.内容管理系统及支持应用程序开发和交付的类似工具,它通常基于 ...

  10. php最新图片漏洞,2018最新PHP漏洞利用技巧

    本文学习了几种新式的php exploit方法,在此做一笔记 文件删除漏洞, unlink() Phar 反序列化, file*() PHP对象实例化, ReflectionClass() 0x01 ...

最新文章

  1. 分库分表之后,主键的处理方法
  2. ka电器表示什么意思_电器上的KA是指的什么电流?
  3. Cacti脚本及模板
  4. 优化tableView性能(针对滑动时出现卡的现象)
  5. C#图片压缩的实现方法
  6. 常用的正则表达式的运用--学习笔记(二)
  7. 巧用ActionFilter的AOP特性,为返回的数据增加返回码和消息
  8. .NET架构小技巧(5)——反射,架构人员法宝III
  9. 初步的 MPI消息传递函数
  10. arma模型matlab代码_DCC GARCH模型
  11. python自动化办公都能做什么-用 Python 自动化办公能做到哪些有趣或有用的事情?...
  12. Android 实现计时器功能,Android实现倒计时30分钟功能
  13. react开发教程(九)redux基础
  14. 一篇文章带你了解系统流程图和业务流程图的区别
  15. 7月7日第壹简报,星期四,农历六月初九
  16. 美国程序员薪水按编程语言大比拼新浪
  17. 倍福PLC和C#通过ADS通信传输int类型变量
  18. Web 编程期中大作业
  19. PageHelper 插件踩过的坑
  20. 上海矽昌通信技术有限公司自研路由芯片

热门文章

  1. python中文视频教程-中谷python中文视频教程(全38集)
  2. python编程100例-【python】编程语言入门经典100例--30
  3. python学习网站-Python学习网站
  4. 车载语音识别问题多 车主都说不靠谱
  5. wordpress 调用css,WordPress折腾记-精简CSS及JS在插件中的调用
  6. hal库串口dma卡死_HAL库版DMA循环模式串口数据收发
  7. java math rint_Java Math rint() 使用方法及示例
  8. 【java笔记】IO流(1):IO流概述,字节输出/输入流读写文件
  9. 简单使用linux感受,linux小白说说用linux的感受
  10. RocketMQ_问题_启动报错,修改堆内存大小