2023年江苏“领航杯”MISC一个很有意思的题目(别把鸡蛋放在同一个篮子里面)

发布时间 2023-10-26 17:01:18作者: Kicky_Mu

?别把鸡蛋放在同一个篮子里面

题目附件:https://wwzl.lanzoue.com/i6HmX16finnc

1、题目信息

解压压缩包打开附件,获得5141个txt文档,每个文档都有内容,发现是base64加密的字符内容,所以我们需要按照顺序将每个文件的内容写到一个文件里面,然后base64解码

我们观察到每个文件的名称其实是一段MD5值,我们使用MD5试着解一下看看,发现每个文件的名称其实都是一个阿拉伯数字。

https://www.cmd5.com/

所以可以推断根据文件名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。。