当前位置: 首页 > news >正文

构造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.lryc.cn/news/308925.html

相关文章:

  • JAVA设计模式——创建型模式
  • 队列的结构概念和实现
  • Linux系统上使用C语言创建线程
  • pc端如何做自适应呢?
  • c语言经典测试题8
  • 解决GitHub无法访问的问题:手动修改hosts文件与使用SwitchHosts工具
  • ETL数据仓库的使用方式
  • POST参数里加号+变成空格的问题处理
  • 【华为面试基础题】检查是否存在满足条件的数字组合
  • 亚信安慧AntDB数据并行加载工具的实现(一)
  • 面经 | Java创建线程的三种方式
  • 【计算机网络】五种IO模型与IO多路转接之select
  • 通过一篇文章让你了解数据结构和算法的重要性
  • python代码优化学习
  • C#,数值计算,求解微分方程的吉尔(Gear)四阶方法与源代码
  • 2024年新提出的算法|LEA爱情进化算法(Love Evolution Algorithm)
  • javaWeb个人学习02
  • EchoServer回显服务器封装与测试
  • 详解POCV/SOCV的时序报告
  • [VNCTF2024]-PWN:preinit解析(逆向花指令,绕过strcmp,函数修改,机器码)
  • 网络通信技术
  • 【刷题】位运算
  • C++重新入门-string容器
  • C语言头歌:指针进阶
  • 【C++】一个求数组中最大元素的函数模板
  • SpringCloud Alibaba(保姆级入门及操作)
  • SpringBoot集成Activiti案例
  • Vulnhub靶机:basic_pentesting_2
  • 复试PAT乙级day33
  • npm ERR! path /Users/apple/.npm/_cacache/index-v5/11/77/cf18d9ab54d565b57fb3