0x01 前言
ctf比赛中遇到的题,挺不错的,记录一下
0x02 题目分析
看题目描述提到了python,八成是要写脚本了
下载附件,看到里面全是类似这种文本的txt文件;最后的字符串看起来像是base64编码,那么看到这里也有一个大概的思路了。把每个txt中的文本全提取到一起,再进行解码。
0x03 解题步骤
1.提取文本
这边笔者习惯用python,其他语言也是可以的
import os
# 设定目录路径
directory = r'C:\Users\xxx\xxx\Jack' #文件的绝对路径地址
# 遍历目录中的所有文件
for filename in os.listdir(directory):
if filename.endswith(".txt"):
# 打开文件并读取内容
with open(os.path.join(directory, filename), 'r', encoding='utf-8') as file:
content = file.read()
with open(r'C:\Users\xxx\xxx\123.txt', 'a') as file: #结果文件地址
file.write(content)
# 输出到控制台
print(content)
得到
2.解码
随机选一个进行解码,发现是乱码。尝试把文字去掉全组合在一起也没有什么结果。
但这个看起来就是base64,就在百思不得其解时,突然灵光乍现。用一下逆向思维,
flag{
的base64编码是ZmxhZ3s=
,对全文进行搜索。果然
对其进行解码,得到
flag{36d8170f-3263-487d-9f6b-afe422d635fe}
0x04 尾声
做不出来的时候别急着放弃,多角度想想,多尝试,突破可能就在下一秒。ctf有些时候也是挖出题人脑洞的过程。