0


CTF之MISC题目-西游记

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 =awaitreadFile(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

标签: 前端 网络安全

本文转载自: https://blog.csdn.net/fredricen/article/details/128488118
版权归原作者 fredricen 所有, 如有侵权,请联系我们删除。

“CTF之MISC题目-西游记”的评论:

还没有评论