CTF之MISC题目-西游记

8 篇文章 0 订阅
3 篇文章 0 订阅

CTF系列文章

第一篇 CTF之密码学题目-classical && coding
第二篇 CTF之MISC题目-西游记
第三篇 CTF之MISC题目-简单流量



前言

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值