【DASBOOK】Mark loves cat

news2024/11/16 3:21:27

文章目录

  • 一、工具下载
  • 二、Mark loves cat
  • 解题感悟


一、工具下载

克隆dirsearch仓库:

git clone https://github.com/maurosoria/dirsearch.git

在这里插入图片描述
下载 githack工具

git clone https://github.com/lijiejie/GitHack.git

在这里插入图片描述

二、Mark loves cat

在这里插入图片描述
在这里插入图片描述
用dirsearch扫描目录,看看有没有信息泄露

python dirsearch.py  -u  "目标URL" 

在这里插入图片描述
缺少依赖,那咱们先手动安装依赖

dirsearch 使用 requirements.txt 文件来管理依赖项,我们安装其依赖

pip install -r requirements.txt

请添加图片描述

依赖搞定后回来继续扫

python3 dirsearch.py -u "http://d31f8e0b-527e-4f00-88c4-cfdebc82650f.node5.buuoj.cn:81/"

在这里插入图片描述

我淦一堆什么玩意儿…咱们限制一下再进行扫

python dirsearch.py -u "http://d31f8e0b-527e-4f00-88c4-cfdebc82650f.node5.buuoj.cn:81/" -t 1 --timeout=2 -x 400,403,404,500,503,429
  • python .\dirsearch.py:使用 Python 解释器运行 dirsearch.py 脚本。
  • -u http://d31f8e0b-527e-4f00-88c4-cfdebc82650f.node5.buuoj.cn:81/:-u 参数用于指定目标 URL。在这里,目标 URL 是
    http://d31f8e0b-527e-4f00-88c4-cfdebc82650f.node5.buuoj.cn:81/。
  • -t 1:-t 参数用于指定线程数。在这里,-t 1 表示使用单线程运行扫描。
  • –timeout=2:–timeout 参数用于设置每个请求的超时时间(以秒为单位)。在这里,超时时间设置为 2 秒。
  • -x 400,403,404,500,503,429:-x 参数用于排除特定的HTTP状态码。这里,400, 403, 404, 500, 503, 429 状态码的响应将被忽略。

在这里插入图片描述
可以发现存在git泄露。既然泄露了我们可以直接通过githack下泄露的源码

python GitHack.py http://d31f8e0b-527e-4f00-88c4-cfdebc82650f.node5.buuoj.cn/.git/

在这里插入图片描述

把这俩文件瞅一瞅

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

找到了,咱们代码审计一下

<?php

// 包含 'flag.php' 文件的内容
include 'flag.php';

// 定义变量 $yds 并赋值为字符串 "dog"
$yds = "dog";
// 定义变量 $is 并赋值为字符串 "cat"
$is = "cat";
// 定义变量 $handsome 并赋值为字符串 "yds"
$handsome = 'yds';

// 遍历 $_POST 超全局数组
foreach($_POST as $x => $y){
    // 使用变量变量,将 POST 请求参数名作为变量名,参数值作为变量值
    $$x = $y;
}

// 遍历 $_GET 超全局数组
foreach($_GET as $x => $y){
    // 使用变量变量,将 GET 请求参数名作为变量名,并将该变量赋值为另一个变量(变量名是 GET 请求参数值)
    $$x = $$y;
}

// 再次遍历 $_GET 超全局数组
foreach($_GET as $x => $y){
    // 检查是否存在 GET 参数 'flag' 且其值等于当前遍历的键名,并且键名不是 'flag'
    if($_GET['flag'] === $x && $x !== 'flag'){
        // 结束脚本并输出 $handsome 变量的值("yds"exit($handsome);
    }
}

// 如果 $_GET$_POST 中都不存在 'flag' 参数
if(!isset($_GET['flag']) && !isset($_POST['flag'])){
    // 结束脚本并输出 $yds 变量的值("dog"exit($yds);
}

// 如果 POST 请求参数 'flag' 的值为 'flag' 或 GET 请求参数 'flag' 的值为 'flag'
if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
    // 结束脚本并输出 $is 变量的值("cat"exit($is);
}

// 输出 'the flag is: '$flag 变量的值(从 'flag.php' 文件中引入的内容)
echo "the flag is: ".$flag;

我们可以发现当$ _GET[‘flag’] === ‘yds’,并且 $ x(也为 ‘yds’)不等于 ‘flag’,所以条件满足,exit($handsome) 执行,输出 $handsome 的值为 ‘yds’。所以我们可以直接yds=flag

试一试
在这里插入图片描述

查看源码

在这里插入图片描述

小小flag,拿下!


解题感悟

思路不复杂,但是前期工作安装软件有点麻烦。对了,执行脚本的时候需要进入相应的路径下。

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

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

相关文章

JS(ES_6)_2

1.创建对象的6种方式&#xff1a; 1. obnew Object() ob.nameah ob.age18 2. ob{name:ah,gae:18} 3.工厂模式&#xff1a; 设计一个函数&#xff0c;专门生产Person类型的对象 <script>function createPerson(name,age,family) {var o new Object();o.name name;o.…

WebGL的室内设计软件

WebGL (Web Graphics Library) 是一个JavaScript API&#xff0c;它提供了一种在网页上渲染3D图形的方法&#xff0c;无需使用插件。利用WebGL&#xff0c;开发者可以创建和展示复杂的3D场景&#xff0c;包括室内设计。以下是开发基于WebGL的室内设计软件时可能涉及的一些关键步…

如何禁止U盘拷贝文件|禁止U盘使用的软件有哪些

禁止U盘拷贝文件的方法有很多&#xff0c;比如使用注册表、组策略编辑器等&#xff0c;但这些方法都适合个人&#xff0c;不适合企业&#xff0c;因为企业需要对下属多台电脑进行远程管控&#xff0c;需要方便、省时、省力的方法。目前来说&#xff0c;最好的方法就是使用第三方…

水表电表远程抄表是什么?

1.简述&#xff1a;水表电表远程抄表技术性 随着时代的发展&#xff0c;传统式手动抄表方法早已被更为高效、智能化的远程抄表系统所替代。水表电表远程抄表&#xff0c;说白了&#xff0c;就是利用互联网技术完成对水表和电表读数的远程数据采集管理方法&#xff0c;大大提升…

Css提高——Css的动画与3D转换

Css动画 1、动画元素的使用步骤 制作动画分为两步&#xff1a; 先定义动画再使用&#xff08;调用&#xff09;动画 2、用keyframes定义动画 keyframes 动画名称 {0%{width:100px;} 100%{width:200px;} }其中的0%和100%可以理解为给动画打上了开始和结束的两个关键帧 3、动…

kotlinx.coroutines.debug.AgentPremain

大家好 我是苏麟 . 项目引入AI大模型 debug 出现报错 设置 勾选

ES升级--01--环境准备和安装

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Linux 单机1.官网下载 Elasticsearchhttps://www.elastic.co/cn/downloads/past-releases/#elasticsearch 2.解压软件3.创建用户设置用户 es 密码 es赋权ES用户数据…

小林coding笔记

MySQL执行流程 MySQL 的架构共分为两层&#xff1a;Server 层和存储引擎层。Server 层负责建立连接、分析和执行 SQL。存储引擎层负责数据的存储和提取。 Mysql执行 启动Mysql net start mysql登陆 mysql -u root -p输入密码

clangd failed: Couldn‘t build compiler instance问题解决!!!

如果其他人的博客不能解决问题&#xff0c;可以试试我的解决方案&#xff1a; 修改compile_commands.json中cc为arm-linux-gnueabihf-gcc&#xff0c; 例如&#xff1a; 之后&#xff0c;clangd就能用了&#xff0c;虽然输出也会报错&#xff0c;但好歹能用了

五管OTA输入极性快速判断

做CMFB还有负反馈的时候曾经在判断输入输出极性上吃了大亏&#xff0c;直接做实验波形正确就是输入正端&#xff0c;全差分就不用考虑这么多了 和弯折&#xff0c;形状类似7&#xff0c;相同方向输入正端&#xff0c;相反的就是输入负端&#xff0c;输出也是和输入负端一个方向…

K8S认证|CKA题库+答案| 12. 查看Pod日志

12、查看Pod日志 您必须在以下Cluster/Node上完成此考题&#xff1a; Cluster Master node Worker node k8s master …

Rust腐蚀怎么用服务器一键开服联机教程

1、进入控制面板 首次登陆需要点击下方重置密码&#xff0c;如何再点击登录面板&#xff0c;点击后会跳转到登录页面&#xff0c;输入用户名和密码登录即可 2、设置游戏端口 由于腐蚀的设置需要三个端口&#xff0c;它们用于游戏端口&#xff08;必须为首选端口&#xff09;&a…

二十八篇:嵌入式系统实战指南:案例研究与未来挑战

嵌入式系统实战指南&#xff1a;案例研究与未来挑战 1. 引言 1.1 嵌入式系统的重要性及其应用广度 在当今快速发展的技术领域中&#xff0c;嵌入式系统扮演着至关重要的角色。这些系统是专门设计的计算机硬件和软件的组合&#xff0c;旨在执行特定任务&#xff0c;如控制、监…

【Apache Doris】周FAQ集锦:第 4 期

【Apache Doris】周FAQ集锦&#xff1a;第 4 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户和…

03-02-Vue组件之间的传值

前言 我们接着上一篇文章 03-01-Vue组件的定义和注册 来讲。 下一篇文章 04-Vue&#xff1a;ref获取页面节点–很简单 父组件向子组件传值 我们可以这样理解&#xff1a;Vue实例就是一个父组件&#xff0c;而我们自定义的组件&#xff08;包括全局组件、私有组件&#xff09;…

C# GDI+ 绘制文字不同的操作系统渲染文字大小不同

一、C# GDI 绘制文字不同的操作系统渲染文字大小不同 原因&#xff1a;使用Font 字体的时候&#xff0c;没有指定字体渲染的单位。 不同系统的默认字体单位会不同。 二、解决方案&#xff1a; 在指定字体的时候&#xff0c;指定字体大小&#xff0c;同时也要设置字体的单位 …

基于FMU的Star CCM+与Amesim复杂控制联合分析

1、背景: 当前Star CCM+的逻辑控制功能并不强大,当需要仿真复杂多变的工况时往往力不从心。为了解决该问题,当前有两个方案可以尝试,分别如下: 方案1:利用AMEsim与Star CCM+联合仿真,通过tcp传输模块来实现两者的实时耦合。 方案2:利用AMEsim导出FMU文件,然后将FMU…

部署PIM-SM

拓扑图 配置 使能组播路由 配置OSPF 组播路由器接口配置pim-sm 连接组成员的接口使能igmp pim路由器上配置静态RP sysname AR1 # multicast routing-enable # interface GigabitEthernet0/0/0ip address 10.1.12.1 255.255.255.0 pim sm # interface GigabitEthernet0/0/…

软件设计师备考 | 案例专题之数据流图 概念与例题

案例分析专题大纲&#xff1a; 数据流图基本概念 基本图形元素&#xff1a;外部实体、加工、数据存储、数据流 数据流&#xff1a;由一组固定成分的数据组成&#xff0c;表示数据的流向。在DFD中&#xff0c;数据流的流向必须经过加工。加工&#xff1a;描述了输入数据流到输出…

idea 出现 cpu占用100%

一、IDEA的CPU占用率过高 二、解决办法 idea安装路径bin目录 修改idea64.exe.vmoptions配置文件 原来的 -Xms128m -Xmx750m -XX:ReservedCodeCacheSize240m -XX:UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB50 修改为(IDEA优化内存配置) -Xms2048m -Xmx4096m -XX:Reser…