------已搬运-------PHP反序列化之三:phar://反序列化之☞菜鸡的总结

本文详细介绍了PHP中的Phar反序列化漏洞,包括phar://伪协议的特性,如何通过设置php.ini禁用phar.readonly,Phar文件结构,以及如何利用Phar伪装文件格式进行漏洞利用。通过例子展示了如何生成和利用phar文件,以实现不依赖unserialize()的反序列化攻击。
摘要由CSDN通过智能技术生成

讲真,写道一半后悔了,,,网上说。这个好像不怎么出题。而且现实中这个漏洞也比较少。。。哭了呀,,━┳━…━┳━
(本🐓还没有看POP链…)看了这么多文章,先总体上说说吧。这个**phar://**只是反序列化漏洞中的一个分支。
个人理解:**phar://**之所以拿出来,单独成知识点,有一点原因就是可以不用unserialize()方法,但是仍然会调用php的反序列化。 只要有反序列化,那么就很可能有反序列化漏洞。要有反序列化漏洞,就一定要有反序列化这个步骤。可以是unserialize(),也可以是这个meta…什么的来进行参序列化。

还要有对传入的参数进行 诸如file_get_contents()等方法的操作
在这里插入图片描述

一、这里写一下在构造环境之前要做的一些事情:

  1. 将php.ini中的phar.readonly设置成off。不然的话,这个是什么意思呢:raeadonly么,on的时候就是只能够读,不能够写phar包。默认是On,改成off,就时能够不readonly了。也就是可以写了嘛。在php.ini中修改,在phpinfo()中查看。。。如下图所示:
    在这里插入图片描述

  2. 哦吼,怎么就只剩下一点了呢,,,哎呀一点就一点了,,,pass

二、然后是关于Phar的相关知识的记录吧

在这里插入图片描述老爷们先看看,热热手。上面这个,可以多看几遍,试着理解,不然的话,看再多的博客文章也还是感觉自己没学会。

------------------------假装我是一个分割线-----------------------------------

下面是phar文件结构的知识:
对做题时没影响,但是总是觉得还是知道了解的好,不然就真的成为了一个只会做题的 无 情 机 器 了…。(其实下面这些可以复制粘贴的,但是为了加强印象,我手敲的。也是个小建议吧,)

phar://
将多个文件归并入一个本地文件夹,也可以包含一个文件
phar文件
PHAR(PHP文档)文件是一种打包格式(类似于zip???菜鸡猜测。网上没讲),通过将许多的PHP代码文件和其他资源(例如,图像,格式表等)捆绑到一个归档文件中来实现应用程序和库的分发。所有的PHAR文件都是用**.phar**作为文件扩展名的,PHAR格式的归档需要使用自己写的PHP代码来实现,也就是要自己写demo。
phar文件结构

  1. a stub
    识别phar扩展的标识,格式:xxxx<?php xxxx;__HALT__COMPILER();?> 。对应的函数为Phar::setStub
  2. a manifest describing the contents
    被压缩文件的权限,属性等信息都存放在这部分。这部分还会以反序列化的形式存储用户自定义的meta-data,知识漏洞利用的核心部分,对应函数:setMetadata——设置Phar归档元数据
  3. the file contents
    被压缩文件的内容。
  4. [optional] a signature for verifying Phar integrity(phar file format only)
    签名,放在文件末尾,对应函数Phar::stopBuffering ——停止缓冲对Phar文档的写入请求,并将更改保存到磁盘。。(就是停止写入的意思)

自己的理解呢:phar文件,就类似于rar,zip等打包文件之类的。压缩包?。但不一定是压缩包,是一个里面有着其他包的一个文件类型。压缩包应该是属于这一大种包中的一种,就像兵种和军种的关系一样,emmm。。。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值