[NISACTF 2022]bingdundun
进入靶场环境,提示upload,应该是一个文件上传与文件包含相关的题目。
点击upload进入文件上传页面。看到url有一个bingdundun的get传参,我们尝试传入其他值尝试一下。
尝试传入index,发现index页面的内容被大量包含进来,并且会自动在后面添加.php
在看文件上传点提示可以传图片或压缩包,因此考虑php伪协议中的phar协议或zip协议。首先写一个phpinfo()脚本,打成zip压缩包并上传,上传成功后利用phar协议包含压缩包中的脚本文件,发现脚本中的php代码被成功包含进来并被当作代码执行了。
获取flag方法
方法一:
利用phar协议读取上传一句话木马,用菜刀链接。
http://1.14.71.254:28884/?bingdundun=phar://23de81832e6ba264115a6192202105f7.zip/reqma
方法二:
构造phar文件,phar文件包含我们想要执行的代码,由于index页面提示,flag就在根目录下,因此如果能直接执行cat /flag 就能出结果了。
构造phar文件方法
- 修改php.ini 让phar.readonly 改成off。
- 创建一个pharfile.php文件,代码如下,用于生成phar包
startBuffering();$phar->setStub("");$phar->addFromString("pharfile.php", '');$phar->stopBuffering();?>
浏览器访问该文件,在同目录下会生成exp.phar文件。复制一份改成zip格式,然后上传
phar://协议将文件包含到当前页面,然后给ps参数传入想要执行的代码值,执行成功。
根据代码提示flag在根目录下,因此构造url得到flag。
来源地址:https://blog.csdn.net/jhk8698/article/details/127406643
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341