CTF之MISC题目-西游记

news2024/11/6 7:20:58

CTF系列文章

第一篇 CTF之密码学题目-classical && coding
第二篇 CTF之MISC题目-西游记


文章目录

  • CTF系列文章
  • 前言
  • 一、题目是什么?
  • 二、解题步骤
    • 1.下载文件,解压
    • 2.暴力破解
    • 3.解压文件
    • 4.处理文本文件
    • 5.手动删除多余字符
  • 总结


前言

CTF中关于MISC(杂项)的题目通常都比较有意思,很考察思维的发散性。下面的这道题就是需要灵活的思考,涉及暴力破解、编码、手动处理文本等多种手段。


一、题目是什么?

题目

二、解题步骤

1.下载文件,解压

解压
但是解压发现,文件是加密的,需要输入密码。这个时候,最简单的方式就是暴力破解,但是暴力破解需要有个大致的范围,我们简单猜测是8位的纯数字。

2.暴力破解

爆破3

爆破1
爆破2
暴破4
暴破5
没有想到的是,这个密码居然真的这么简单,不愧为“简单题目”。密码顺利拿到之后,就可以解压文件了。

3.解压文件

解压打开文件:
文件内容
可以发现这个文本里面嵌入了字母,而题目中已经提示了“flag格式为DASCTF{},括号内为数字与小写字母的uuid。”所以接下来我们要处理文本文件了。

4.处理文本文件

根据提示,我们可以通过编写NodeJS代码,来处理一下文本文件:

const { readFile,writeFile } = require('node:fs/promises');
const { resolve } = require('node:path');
const {decode,encode} = require('iconv-lite');
try{
	const filePath = resolve('C:\\Users\\Administrator\\Downloads\\西游记的附件\\tempdir\\MISC附件\\西游记.txt');
    const contents = await readFile(filePath);
    const text = decode(contents,'gb2312');
    console.log(text.match(/[D|A|S|C|T|F|\{|\}]|\-|\d|[a-z]/g).join(''));
}catch(e){
	console.log(e.message);
}

输出:
nodejs输出
可以发现,这一串字符里面有很多混淆的内容。比如D-------------7529ASCTF{里面这个-7529就是混淆干扰。仔细看文本,这些干扰其实来自“本章字数:****”,接下来,我们需要替换掉这些字数,字数都是4位的整数,需要替换为空字符串""。打开nodepad++,选中“搜索”->“替换”:

在这里插入图片描述

注意:打开文本时,鼠标焦点要放到最开始的位置,因为匹配是从焦点开始寻找。

可以看到最后替换完成之后的内容:
替换之后的文本
我们再次利用上次的NodeJS代码,执行一次,输出:
再次执行输出

5.手动删除多余字符

根据提示"flag格式为DASCTF{},括号内为数字与小写字母的uuid。"UUID的格式是8-4-4-4-12的小写字母和数字。所以我们可以对文本"D-------------ASCTF{j4900bdff-3d75-11ed-aa7c-DDf889DDd2DDDDDD81b666DD}DDDDDDDDDDDDDDDDDDDDD{DDDDDDDDD"进行删除,得到"DASCTF{j4900bdff-3d75-11ed-aa7c-f889d281b666}"。最终我们得到答案:"j4900bdff-3d75-11ed-aa7c-f889d281b666"


总结

以上就是第二道CTF题目的解题过程和思路,可以发现,解题的过程充满了猜测和思考,这来源于经验积累,能够编码解决基本的文本处理任务,能够根据题目提示手动处理文本,有的时候手动处理比写代码还要快些o( ̄︶ ̄)o

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

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

相关文章

TensorFlow之回归模型-3

1 基本概念 回归模型 线性 线性模型 非线性模型 线性回归 逻辑回归 Log Loss(损失函数) 分类临界值 2 效率预测 如上所示,使用测试数据集进行评估、用图形显示逻辑回归的预测结果,其中,test_features是测试特…

hnu计网实验一-应用协议与数据包分析实验(使用Wireshark)

前言:这是个比较简单的实验,个人认为最难的不是分析部分,而是能否抓到一个好的包。为了抓到一个好的包我试了很多个网站,终于抓京东时抓到了令我个人最满意的包,因为没有其他各种杂乱的报文,就是那几条必要…

直流信号线性放大器非隔离转换模块0-10V转0-12V大功率负载180mA导轨安装

概述: 导轨安装DIN11 NIPO 系列模拟信号放大器是一种将输入信号放大、转换成按比例输出的直流信号放大器。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等需要直流信号测控的行业。此系列产品内部采用稳压电路,通过等比例控制线性放大输…

视频转换IC大全和桥接芯片大全

视频转换大全(桥接芯片大全) 本人从事多年视频转换ic多年累计大量宝贵资源,可以和大家交流交流,下面就视频转换或桥接芯片做下相关交流,期望可以帮助大家。 视频转换或视频桥接:就是把视频源的信号格式转成…

《MySQL高级篇》数据库建模工具---PowderDesigner的使用教程

文章目录PowerDesigner的使用11.1 开始界面11.2 概念数据模型11.3 物理数据模型11.4 概念模型转为物理模型11.5 物理模型转为概念模型11.6 物理模型导出SQL语句PowerDesigner的使用 PowerDesigner是一款开发人员常用的数据库建模工具,用户利用该软件可以方便地制作…

Python--字典及基本操作

字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素…

传统目标跟踪——背景分割法

目录 一、背景分割法 二、流程 三、代码 四、总结 一、背景分割法 传统的前景背景分割方法有GrabCut,分水岭算法,当然也包括一些阈值分割的算法。但是这些算法在应用中往往显得鲁棒性较弱,达不到一个好的分割效果。 现代的背景分割算法融入…

便宜的骨传导耳机好用吗?五款便宜的骨传导耳机推荐

市面上的骨传导耳机价格参差不齐,那价位较低的骨传导耳机能不能入手呢?只能说“一分钱,一分货”但是一些大牌骨传导耳机品牌也会出一些性价比较高的骨传导耳机,依靠大牌技术的加持,耳机的使用体验也会更好。可以看看下…

抓住站点能源革命机遇,必须要了解的十大趋势

编辑 | 阿冒 设计 | 沐由每一天,你做得最多的几件事情是什么?喝八回水,吃三次饭,还有空闲的时候起身溜达几圈,以及穿插其间、难以计数的查看手机次数?可以说,我们中的绝大多数每天在手机上花…

告别丑陋判空,一个Optional类就能搞定

认识Optional Opitonal类就是Java提供的为了解决大家平时判断对象是否为空用,通常会用 null!obj 这样的方式存在的判断,从而令人头疼导致空指针异常,同Optional的存在可以让代码更加简单,可读性跟高,代码写起来更高效…

剑指 Offer 16. 数值的整数次方

题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 思路 快速幂算法 求 x^n最简单的方法是通过循环将 n 个 x 乘起来,依次求 x1,x2,...,x^n,…

【微服务】Nacos 注册中心服务数据模型

目录 一、前言 二、服务(Service)和服务实例(Instance) 1、定义服务 2、服务元数据 3、定义实例 4、实例元数据 5、持久化属性 三、集群 1、定义集群 四、生命周期 1、服务的⽣命周期 2、实例的⽣命周期 3、集群的⽣命…

使用Comsol完成固体火箭装药的燃面推移

简介 为了计算固体火箭发动机的内弹道曲线,必须知道燃面面积随烧去肉厚的变化关系。目前主要有实体造型法、动网格法、水平集法等。笔者给出一种直接使用Comsol有限元软件完成燃面推移的方法,使用简便快捷,无需编写代码。 理论部分可参考论…

API风险

©网络研究院 从表面上看,API帮助企业连接应用程序并相互共享数据。这为客户和用户创造了更简单、更无缝的体验。 如果你曾经使用你的谷歌账户登录过多个网站或应用程序,那么你很有可能使用的是谷歌开发的API。 像这样的API在后台工作&#xff0c…

极狐gitlab-runner的安装

1)下载系统对应的二进制文件 # Linux x86-64 sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64 2)赋予执行权限 chmod x /usr/local/bin/gitlab-runne…

Faster RCNN网络源码解读(Ⅱ) --- Faster RCNN源码使用

目录 一、源码链接 二、环境配置 三、文件结构 四、预训练权重下载地址 五、训练集 六、训练方法及注意事项 七、大概看一下训练过程(train_mobilenetv2.py) 一、源码链接 Faster R-CNN源码链接https://pan.baidu.com/s/1SQjyLXD47H11ke05OXY…

基于javaweb的学院社团管理系统(idea+servlet+jsp)

一、系统简介 本项目采用idea工具开发,jspservletjquery技术编写,数据库采用的是mysql,navicat开发工具。 系统一共分为3个角色分别是:管理员,学生,社长 获取方式:基于javaweb的学院社团管理系…

VisualStudio2015安装不上的解决方法_选择对应msi_依然报错继续选择---VisualStudio2015工作笔记001

这个visualstudio网上竟然有卖的,真的是太~咱啥也不说了~ 好了说解决办法吧; 1.这里完整版大小挺大的6G多,但是这里我们找的有可能是只有3.8G左右的,这个版本的就是有文件损坏...但是这个版本是可以装上的,也不耽误用的,我亲自测试了. 2.因为很久没写vb.net程序了,想写个小程…

Docker中安装宝塔

1、docker拉取ubuntu系统 docker pull ubuntudocker pull ubuntu 2、运行容器 docker run -i -t -d --name bt -p 2000:20 -p 2100:21 -p 8000:80 -p 4430:443 -p 8880:888 -p 8888:8888 --privilegedtrue -v /d/baota:/www/wwwroot ubuntu -v后的/d/baota代表本地D盘的bao…

【LeetCode】二叉树中的最大路径和 [H](递归)

124. 二叉树中的最大路径和 - 力扣(LeetCode) 一、题目 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一…