[代码审计篇]php代码审计之浅析Phar伪协议

本文主要介绍了PHP中的Phar伪协议,包括其作用、文件结构和安全方面,如如何绕过上传限制和涉及的反序列化漏洞。作者通过实战示例演示了Phar的使用,并提醒读者关注相关函数在安全中的潜在风险。
摘要由CSDN通过智能技术生成

0x01 前言

简要说明

写这篇博客的目的只有两个

  • 为后续博客之[代码审计篇]中关于php反序列化漏洞的审计作铺垫
  • 为上一篇博客做点漏洞原理的补充
环境工具

Win10 +Ubuntu
Phpstudy_pro
Sublime_Text 3

注意(tips)

PHAR的使用需要将php.ini设置phar.readonly设置为Off才能用于PHAR对象

PHAR 这个词是PHP和 Archive的组合词,基于Java开发人员熟悉的jar(Java Archive)

预备知识

文件头:

用来辨别一个文件真实内容,可修改(比如CTF中的杂项类就会有涉及修改文件头的试题)

以下是常见文件类型及其参数:
在这里插入图片描述

phar可利用的文件操作函数

在这里插入图片描述

0x02 简介

PHAR://协议

可以将多个文件归入一个本地文件夹,也可以包含一个文件

PHAR文件

PHAR文件是一种打包格式,通过将多数PHP文件和其他资源(如图像)捆绑到一个归档文件中来实现应用程序和库的分发。且所有PHAR文件都使用.phar作为文件扩展名,PHAR格式的归档需要使用自己写的php代

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值