一个phar://的漏洞

前段时间打了个护网杯,题目质量是真的高,肉鸡又菜了一整场,遇到了一个不太会的东西,复现了一波,记录下好吧。
这个鬼东西就是phar://的序列化的漏洞

介绍一下

phar://跟php://filter 、data://那些一样,都是流包装,可以将一组php文件进行打包,可以创建默认执行的stub

stub

就是一个标志,格式xxx<?php xxxxx; __HALT_COMPILER();?>,结尾一定是__HALT_COMPILER();?>,不然phar识别不了phar文件

举个栗子

先看一下phar怎么用

class TestObject{
}

$phar = new Phar("phar.phar");
$phar -> startBuffering();
$phar -> setStub("<?php __HALT_COMPILER();?>");
$o = new TestObject();
$o -> data = 'h4ck3r';
$phar -> setMetadata($o);
$phar -> addFromString("test.txt","test");
$phar -> stopBuffering();

执行以后同级目录下会有一个phar.phar文件,丢去二进制编辑器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值