前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unknown PHP deserialization vulnerability--phar

Unknown PHP deserialization vulnerability--phar

作者头像
ly0n
发布2020-11-04 11:08:15
3110
发布2020-11-04 11:08:15
举报
文章被收录于专栏:ly0n

前言

​ 最近做了些反序列化的题目,都是和serialize()和unserialize()函数相关的漏洞,在翻阅网上的文章时,突然看到了新的漏洞利用方法,可以在不使用php的serialize()和unserialize()函数情况下,引起严重的php对象注入漏洞。它可以使攻击者将相关漏洞的严重程度升级为远程代码执行。

流包装

PHP文件操作允许使用各种URL协议去访问文件路径: 例如php:// data:// zlib://

常见的例如:

代码语言:javascript
复制
php://filter/read=convert.base64-encode/resource=xxxx.php
data://text/plain;base64,xxxxxxxxxxxx

今天所谈到的phar也是流包装的一种 phar://

原理

​ phar本质是一种压缩文件,其中每个被压缩文件的权限、属性等信息都放在这部分。这部分还会以序列化的形式存储用户自定义的meta-data,这是上述攻击手法最核心的地方。

​ 还可以理解为一个标志,格式为

代码语言:javascript
复制
xxx<?php xxx;__HALT_COMPILER();?>

​ 前面内容不限,但必须以__HALT_COMPILER();?>来结尾,否则phar扩展将无法识别这个文件为phar文件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 流包装
  • 原理
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档