CTF:Phar反序列化漏洞学习笔记

admin 2025年1月21日19:39:34评论4 views字数 654阅读2分10秒阅读模式
使用phar://伪协议读取文件时,文件会被解析成phar对象,phar对象内的以反序列化形式存储的用户自定义元数据信息会被反序列化。
影响函数
CTF:Phar反序列化漏洞学习笔记
phar结构
phar由四部分组成,分别是

1.stub是一个文件标志,格式为 :xxx<?php xxx;__HALT_COMPILER();?>。可理解为phar文件头。

2.manifest是被压缩的文件的属性等放在这里,这部分是以序列化存储的,是主要的攻击点,因为这里以序列化的形式存储了用户自定义的Meta-data。

3.contents是被压缩的内容,在没有特殊要求的情况下,这个被压缩的文件内容可以随便写。

4.signature签名,放在文件末尾。

利用条件1.phar文件能上传至服务器。2.存在受影响函数,存在可以利用的魔术方法。3.phar和:和/没被过滤。4.自己电脑能生成phar文件。

生成phar文件

生成phar文件需要修改php.ini中的配置文件,将phar.readonly设置为off

CTF:Phar反序列化漏洞学习笔记
CTF:Phar反序列化漏洞学习笔记

生成后的phar文件

CTF:Phar反序列化漏洞学习笔记

使用方法

CTF:Phar反序列化漏洞学习笔记
CTF:Phar反序列化漏洞学习笔记
在做文件上传的时候先考虑上传PHP文件,可以先尝试双写绕过等绕过姿势,如果不行就考虑上传phar文件
漏洞修复 可以进行简单的过滤
CTF:Phar反序列化漏洞学习笔记
CTF题目练习
[HNCTF 2022 WEEK3]ez_phar
CTF:Phar反序列化漏洞学习笔记
查看源码可以看到没有反序列化函数,因此考虑用phar。
生成phar文件
CTF:Phar反序列化漏洞学习笔记
进行文件上传,只允许上传jpgpngjpeg格式,将phar文件更改后缀为.jpg
CTF:Phar反序列化漏洞学习笔记
上传访问即可获得flag
CTF:Phar反序列化漏洞学习笔记
CTF:Phar反序列化漏洞学习笔记

原文始发于微信公众号(小话安全):CTF:Phar反序列化漏洞学习笔记

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月21日19:39:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTF:Phar反序列化漏洞学习笔记http://cn-sec.com/archives/3657024.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息