ctf Mark loves cat (超详细记录)

news2024/9/21 20:48:55

分析:首先根据问题名称看不出明显的考点方向,先看了一下源代码,没有flag相关内容

我后面就去尝试sql注入方向,但是试了几个参数发现得到的回显都是一致的,全是主页,显然是做了错误重定向,那我就怀疑这里不是sql注入了

也没有发现隐藏的接口

然后简单拼接一下index.php,探测出是一个php站点

然后做一下目录扫描

先用御剑扫了一下,扫到不少200的,但是他这里做了错误重定向,扫出来的那些去访问还是主页

使用dirserach 单独扫描php后缀没结果,全量扫描才扫描出了一个git目录,所以本题应该是git源码泄露相关

往后就比较有意思了,用githack把对应的泄露git路径的源码pull下来,之后就是代码审计。

Tips:这个githack下载之后还是需要做一些配置的,建议百度一下

扫描之后会生成对应域名的文件夹,里面是pull的源码

代码的问题是变量覆盖

这里最难的语法点是$$符号的含义,明白了这个就能解决问题了,这也是变量覆盖的原因

在PHP中,$$x = $y; 这种语法结构使用了两个美元符号($$),这被称为可变变量(variable variables)。它允许你将一个变量的值作为另一个变量的名称。

具体来说,$$x = $y; 这行代码做了以下几件事:

  1. 首先,它解析了变量$x的值。假设$x的值是字符串"foo",那么$$x就等价于$foo
  2. 然后,它将$y的值赋给这个由$x的值确定的变量名(在这个例子中是$foo)。换句话说,如果$y的值是"bar",那么执行这行代码后,$foo的值就会是"bar"

看到这你就明白了,问题就出在这里,两个$符号会导致用户传递的参数会变为一个新的变量,也就是用户可以决定服务端创建的参数名称,那么我就可以去构造一个服务端已有的参数从而造成变量覆盖。

这题变量覆盖的方法有好几种,我来解释个简单的

要想输出flag,可以通过get方法提交参数,只要不满足条件的if条件,不exit退出,即可输出flag,所以就是要绕过条件判断,

或者exit退出,在退出之前输出flag,也就是想办法让exit里面的参数变成$flag即可

分析思路图如下:

poc: ?yds=flag

拿到flag

flag{9810ce7c-c9e8-4dbe-90e2-de8f241ef3f9}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+MySQL的垃圾分类回收管理系统

系统展示 用户界面 管理员界面 系统背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度…

PhpStudy下载安装使用学习

一、官网下载 官网地址:Windows版phpstudy下载 - 小皮面板(phpstudy)https://old.xp.cn/download.html 【首页】选择Windows版,进行下载 下载完成是一个压缩包的形式,解压得到一个.exe的执行文件,点击执行安装程序(注…

016.Python爬虫系列_关于登录和验证码

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数…

BMP280气压传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.传感器数据获取流程 三、程序设计 main.c文件 bmp280.h文件 bmp280.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 BMP280是一款基于博世公司APSM工艺的小封装低功耗数字复合传感器,它可以测…

circuitjs 继电器使用的注意事项及疑惑解答

本篇是关于继电器使用中的一些注意事项, 及疑惑解答. 我们会深入分析下继电器外在行为表现的内在原因, 并针对一些异常情况提出解决方案. 两个输出端点都显示为高电平 在你使用继电器的过程中, 你可能注意到一种令人困惑的现象, 两个输出端有一个明明没有连接到电源, 却也显示…

Docker方式部署ProxySQL和Keepalived组合实现MGR的高可用访问

ProxySQL 代理访问MGR,可以做到故障自动切换主节点,可以自定义访问规则实现读写分离 目录 网络架构一、环境准备二、软件安装1. MGR集群配置2. 创建必要用户2. ProxySQL部署测试3. Keepalived部署高可用4. 测试高可用 网络架构 一、环境准备 三台物理主…

Ubuntu22.04之禁止内核自动更新(二百六十八)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

2516. 每种字符至少取 K 个 滑动窗口 正难则反

给你一个由字符 a、b、c 组成的字符串 s 和一个非负整数 k 。每分钟,你可以选择取走 s 最左侧 还是 最右侧 的那个字符。 你必须取走每种字符 至少 k 个,返回需要的 最少 分钟数;如果无法取到,则返回 -1 。 示例 1: …

专注LabVIEW 做好一件事

在一次LabVIEW的系统改造项目中,遇到一个设备,操作手册居然还是基于DOS系统的。不难看出,这套设备虽然年代久远,但背后的技术积淀极为深厚。事实证明,这套系统在业内享有很高的认可度,由国外团队开发&#…

翻译神器大盘点:哪些软件让语言障碍不再是问题

如果你渴望提升外文阅读能力,却面临外语基础薄弱的挑战,不必过于担心。幸运的是,当前科技为我们提供了诸多便捷的解决方案——翻译工具。比如百度在线翻译这些工具功能强大,极大地拓宽了我们在日常生活与学习中的语言应用边界。 …

PHP轻松创建高效收集问卷调查小程序系统源码

轻松创建,高效收集 —— 问卷调查小程序,你的调研神器! 一、告别繁琐,一键开启调研之旅 还在为设计问卷、收集数据而头疼不已吗?现在,有了“问卷调查小程序”,一切都变得轻松简单!无…

戏曲文化苑管理系统小程序的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,操作日志管理,基础数据管理,公告管理,戏曲管理,用户管理,轮播图信息 微信端账号功能包括:系统首页&#…

向改变技术世界的“导师们”致敬

在教师节这个特殊的日子里,我们通常向那些在课堂上辛勤工作的教师表达敬意,但在技术领域,也有一些导师通过他们的思想、发明和贡献,深刻改变了我们的世界。今天,让我们向那些改变技术世界的导师们致敬,他们…

VUCA时代与传统企业数字化转型

VUCA时代是一个具有现代概念的词,它代表了当前社会和经济环境的一种普遍特征。VUCA是Volatility(易变性)、Uncertainty(不确定性)、Complexity(复杂性)和Ambiguity(模糊性&#xff0…

C#笔记8 线程是什么?多线程怎么实现和操作?

这和前面的学习内容可能有点不太连贯,但是呢我们一般来说的学习就是遇到什么困难就去学习什么,这也是为什么看那些循序渐进的教程虽然学的很饱满,但是我们有时会学了前面忘记了后面,或者对某个板块理解不深,乃至于写代…

递归搜索与回溯专题篇二

目录 N皇后 有效的数独 解数独 单词搜索 黄金矿工 不同路径III N皇后 题目 思路 根据题意可知,要想得到n皇后的摆放方案,结果须满足每一行及每一列都只有一个皇后,且每个主对角线和副对角线上只能有一个皇后,我们的做法是&…

STM32单片机 定时器TIM输出比较 PWM波形

一. OC(Output Compare)输出比较 了解:IC(Input Capture)输入捕获、CC(Capture/Compare)输入捕获和输出比较单元功能:用来输出PWM波形,PWM波形又是用来驱动电机的必要条…

2008-2022年各省环境污染综合指数数据(含原始数据+计算结果)

2008-2022年各省环境污染综合指数数据(含原始数据计算结果) 1、时间:2008-2022年 2、来源:统计年鉴、各省年鉴、环境年鉴 3、指标:省份、年份、废水排放总量(万吨)、废气中二氧化硫排放量&am…

系统架构设计师 - 系统可靠性分析与设计

系统可靠性分析与设计 系统可靠性分析与设计(论文写作)可靠性相关基本概念 ★★系统可靠性分析 ★★★★可靠性指标串联系统与并联系统 软件可靠性设计 ★★★★影响软件可靠性的主要因素可靠性设计策略N 版本程序设计防卫式程序设计 双击容错 大家好呀&…

公共场所团队管理-手机端源码讲解--SAAS本地化及未来之窗行业应用跨平台架构

一、团队自主注册码 二、代码 var 二维码 "未来之窗?url"encodeURIComponent(url);var 图片 "<img src"二维码">";CyberWin_Dialog.layer(图片,{type:"frame",title:title,width:"320px",height:"320px"…