【DASBOOK】Mark loves cat

文章目录

  • 一、工具下载
  • 二、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,拿下!


解题感悟

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

urllib_post请求_百度翻译之详细翻译

百度翻译有一个详细翻译的接口&#xff1a; post请求&#xff1a; 请求参数&#xff08;较多&#xff09;&#xff1a; 打印之后&#xff0c;发现有问题&#xff1a; 改一下请求头&#xff1a; 将Accept-Encoding注释掉&#xff0c;因为我们使用的是utf-8编码&#xff1a; 加上…

STM32F1之OV7725摄像头·像素数据输出时序、FIFO 读写时序以及摄像头的驱动原理详解

STM32F1之OV7725摄像头-CSDN博客 STM32F1之I2C通信-CSDN博客 目录 1. 像素数据输出时序 2. FIFO 读写时序 2.1 写时序 2.2 读时序 3. 摄像头的驱动原理 1. 像素数据输出时序 主控器控制 OV7725 时采用 SCCB 协议读写其寄存器&#xff0c;而它输出图像时则使用 VGA 或…

无线技术整合到主动噪声控制(ANC)增强噪声降低性能

主动噪声控制&#xff08;ANC&#xff09;已成为一种广泛使用的降噪技术。基本原理是通过产生与外界噪音相等的反向声波&#xff0c;将噪音中和&#xff0c;从而达到降噪的效果。ANC系统通常包括以下几个部分&#xff1a;参考麦克风、处理芯片、扬声器和误差麦克风。参考麦克风…

设计循环队列(C语言)怎会如此简单!!!

目录 题目题目分析 解答结构体初始化判空判满插入删除去队头数据取队尾数据队列的销毁 题目 链接: 题目 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它…

对于高速信号完整性,一块聊聊啊(12)

常见的无源电子器件 电子系统中的无源器件可以按照所担当的电路功能分为电路类器件、连接类器件。 A、电路类器件&#xff1a; &#xff08;1&#xff09;二极管&#xff08;diode&#xff09; &#xff08;2&#xff09;电阻器&#xff08;resistor&#xff09; &#xf…

CAD二次开发(4)-编辑图形

工具类&#xff1a;EditEntityTool.cs using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Th…

✨✨使用jq+layui-tab+echarts+swiper实现选项卡轮播联动图表展示功能✨✨

使用jqlayui-tabechartsswiper实现选项卡轮播联动图表展示功能 ✨一、实现功能 &#x1f31f;技术框架 使用layui-tab实现tabs切换使用swiper.js实现轮播效果使用echarts.js实现图表展示 &#x1f31f;功能详情 布局为上中下&#xff1a;tab选项上&#xff0c;内容区为中&…

大作业爬取手机数据,实现手机推荐系统以及朋友圈手机论坛

1、功能简介 &#xff08;1&#xff09;用户注册与用户登录 &#xff08;2&#xff09;手机搜索、手机比拼、手机个性化推荐 &#xff08;3&#xff09;点击搜索的手机图片会就用户行为&#xff0c;轮播展示用户行为&#xff0c;推荐点击次数靠前的手机 &#xff08;4&#xf…

网络域名是什么意思

网络域名&#xff0c;顾名思义&#xff0c;就是网络上的名字&#xff0c;类似于现实中的地址或姓名一样&#xff0c;用来标识网络上的一个或一组计算机或服务器的位置&#xff0c;以及它们的相应服务资源。网络域名是互联网上最基础的基础设施之一&#xff0c;是网络通信的“标…

有一个3x4的矩阵,要求用函数编写程序求出其中值最大的那个元素,以及其所在的行号和列号

常量和变量可以用作函数实参&#xff0c;同样数组元素也可以作函数实参&#xff0c;其用法与变量相同。数组名也可以作实参和形参&#xff0c;传递的是数组的起始地址。 用数组元素作函数实参&#xff1a; 由于实参可以是表达式&#xff0c;而数组元素可以是表达式的组…

技术面试,项目实战,求职利器

之前找工作一直想找一个能真正系统性学开发的地方&#xff0c;之前毕业找工作的时候无意间碰到下面这个网站&#xff0c;感觉还挺不错的&#xff0c;用上面的技术实战内容应对技术面试&#xff0c;也算是求职利器了。有需要的可以自取&#xff1a; https://how2j.cn?p156336 实…

【运维】Linux 端口管理实用指南,扫描端口占用

在 Linux 系统中&#xff0c;你可以使用以下几种方法来查看当前被占用的端口&#xff0c;并检查 7860 到 7870 之间的端口&#xff1a; 推荐命令&#xff1a; sudo lsof -i :7860-7870方法一&#xff1a;使用 netstat 命令 sudo netstat -tuln | grep :78[6-7][0-9]这个命令…

从0开始学统计-卡方检验

1.什么是卡方检验&#xff1f; 卡方检验是一种用于检验观察频数与期望频数之间差异的统计方法。它通常用于分析分类变量之间的关联性或独立性。在卡方检验中&#xff0c;我们将观察到的频数与期望频数进行比较&#xff0c;从而确定它们之间的差异是否显著。 卡方检验的基本思…

深入理解与防御跨站脚本攻击(XSS):从搭建实验环境到实战演练的全面教程

跨站脚本攻击&#xff08;XSS&#xff09;是一种常见的网络攻击手段&#xff0c;它允许攻击者在受害者的浏览器中执行恶意脚本。以下是一个XSS攻击的实操教程&#xff0c;包括搭建实验环境、编写测试程序代码、挖掘和攻击XSS漏洞的步骤。 搭建实验环境 1. 安装DVWA&#xff…

手机相册的照片彻底删除了怎么恢复?删除照片恢复的5种方法

在数字化时代&#xff0c;手机相册里装满了我们的生活点滴和珍贵回忆。然而&#xff0c;一不小心就可能误删那些意义非凡的照片。别担心&#xff0c;今天小编就给大家介绍5种恢复误删照片的方法&#xff0c;让你的回忆不再丢失&#xff01; 方法一&#xff1a;相册App的“最近删…

连公司WiFi后,无法访问外网,怎么回事,如何解决?

文章目录 封面问题描述问题探究什么是DNS&#xff1f;分布式&#xff0c;层次数据库如何理解分布式&#xff1f;如何理解层次&#xff1f; 本地DNS服务器迭代查询&#xff0c;递归查询DNS缓存参考资料 封面 问题描述 从甲方项目组返回公司后&#xff0c;我习惯性连上公司WiFi&…

eletron入门教程 -- 快速写一个electron demo程序

1、前言 由于工作需要&#xff0c;前段时间基于electron框架开发了一个桌面应用程序。由于我之前主要是做c后端开发&#xff0c;所以没有任何electron基础&#xff0c;也没有任何前端开发基础&#xff0c;但是没有办法&#xff0c;老板需要&#xff0c;那就得会&#xff0c;不会…

上位机开发--PyQt创建窗口

知不足而奋进 望远山而前行 目录 知不足而奋进 望远山而前行​ 文章目录 前言 1. 第一个PyQt窗口 2. PyQt模块简介 3. 窗口标题和图标 总结 前言 在PyQt的世界中&#xff0c;创建第一个窗口是踏入GUI开发的第一步。本文将引导您逐步学习如何使用PyQt创建简单的窗口&#xff0c…

基于开源二兄弟MediaPipe+Rerun实现人体姿势跟踪可视化

概述 本文中&#xff0c;我们将探索一个利用开源框架MediaPipe的功能以二维和三维方式跟踪人体姿势的使用情形。使这一探索更有趣味的是由开源可视化工具Rerun提供的可视化展示&#xff0c;该工具能够提供人类动作姿势的整体视图。 您将一步步跟随作者使用MediaPipe在2D和3D环…

上位机图像处理和嵌入式模块部署(f103 mcu定时器配置)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在mcu开发过程当中&#xff0c;有一种开发模式用的比较多&#xff0c;那就是中断while&#xff08;1&#xff09;。这里面的中断&#xff0c;又是以…