2023年江苏“领航杯”MISC一个很有意思的题目(别把鸡蛋放在同一个篮子里面)
🏆别把鸡蛋放在同一个篮子里面
题目附件:https://wwzl.lanzoue.com/i6HmX16finnc
1、题目信息
解压压缩包打开附件,获得5141个txt文档,每个文档都有内容,发现是base64加密的字符内容,所以我们需要按照顺序将每个文件的内容写到一个文件里面,然后base64解码
我们观察到每个文件的名称其实是一段MD5值,我们使用MD5试着解一下看看,发现每个文件的名称其实都是一个阿拉伯数字。
所以可以推断根据文件名MD5的数值可以把每个文件的内容进行排序拼接
脚本:
import base64
import zipfile
import hashlib
dic = {hashlib.md5(str(i).encode()).hexdigest(): i for i in range(5141)}
zf = zipfile.ZipFile("1a8158054c76602e19ee7face3c3aaef.zip")
baseStr = list(5141 * " ")
for fileName in zf.namelist():
md5 = fileName.replace(".txt", "")
baseStr[dic[md5]] = zf.read(fileName)
with open("flag.out", "wb") as f:
f.write(base64.b64decode(b''.join(baseStr)))
010打开文件发现是一个压缩包,修改文件后缀打开
hint.txt内容:
你在寻找钥匙么?
也许你该了解一下图片中的花朵。
ps:钥匙为12位纯数字,试试爆破?
Vm0weE1HRXdOVWRpUm1oVlYwZDRXRmxVU2xOalZsWnpWMjFHV0ZKdGVGcFpNRlpyVmxVeFdHVkljRmhoTVZWNFdXdGFZV015VGtaYVJtUlRUVEJLUlZacVFtdFNNRFZ6VjI1T2FsSnNjRmhhVjNoaFVsWmtWMVZyZEZOTmF6RTBWMnRvVTFWR1duUlZiR2hXWWtkb1JGVXdXbUZTTVdSelYyczFWMkpXU2xwV1ZFb3dXVlpTYzFkc1ZtbFNiV2hYV1d4b2IyVldjRlpYYlVacVlrWndlbFpIZUhkV01rWTJWbGhrVjJFeVVUQlpla1p6VjBaYWRWTnNhR2xTTTJob1ZtMTBWMUp0VmtkVmJHUlRWa2Q0VWxaV1VYZFBVVDA5
得到一个提示,和一张图片,图片中是水仙花数
首先我们看看那串base64是啥。反复解码得到
。。。没什么用,让我多看看花。哎!base64,那就去看花吧
010我们可以看到图片末尾有一个RC4,所以肯定不是爆破,不太实际,根据图片水仙花数,百度一下发现没有12位的水仙花数,但3位的水仙花数有4个,正好!!
153370371407
知道了密码,Cyber里面RC4以下看看
哎!!!拉到最后才发现flag。。