ecryptedzip

在这里插入图片描述
附件是一个加密的压缩包,但是文件名都是可以看到的,比赛时我首先想到的爆破密码,但是爆了6位都没有成功,后来又尝试了crc32爆破,也没有成功

本题主要考察zip明文攻击,之前没做过类似的题目,赛后对着官方的wp做了一遍,学习一下

压缩包中有两个文件,一个是LICENSE开源协议文件,一个是README.md文件,初看可能无法想到如何拿到明文,我们可以先从网上下载常见的开源协议文件,并将文件大小与压缩包内的LICENSE进行对比,从而得到用于攻击的明文
在这里插入图片描述
找遍了所有的LICENSE终于找到一个大小一模一样的,但压缩后的crc32还是不同,后来尝试了很久都没能找到crc一致的明文文件
(官网wp说能找到一样的,那就当能找到吧,反正我没找到)

于是尝试另外一种方法,用已知明文的连续若干字节进行爆破
这里使用的工具是bkcrack
首先构造一个已知的部分密文文件,这里构造的文件名为1,内容为多个空格,因为协议文件的开头通常有很多空格,所以在不知道具体文件的情况下可以用多个空格作为已知明文
在这里插入图片描述
用bkcrack得到keys后再拿keys将压缩包中的LICENSE输出出来
在这里插入图片描述
用输出的re.txt文件(即压缩包中的LICENSE)对压缩包进行已知明文攻击,工具选择ARCHPR
在这里插入图片描述
得到密码T1='JtWw,将压缩包解压后在README.md中找到flag
在这里插入图片描述

签到

题面给出了flag,直接输入

在哪呢

在这里插入图片描述
pdf中找到隐藏信息,复制下来就是flag

只是个PNG,别想太多了.png

附件是一个png,无法正常打开,用010查看后发现crc错误,拿到binwalk试了一下分离,直接在zlib中找到flag

压缩包压缩包压缩包压缩包

在这里插入图片描述
附件是一个有密码的压缩包,尝试一下发现密码就是加密文件的文件名
在这里插入图片描述

尝试几个之后发现这个题就是压缩包一直套娃,由于之前见过类似的题目,考虑用脚本解题

1
2
3
4
5
6
7
8
9
10
11
12
13
import zipfile
import re
zipname = "C:\\Users\\14169\\Downloads\\yasuobao\\"+"23898.zip"
while True:
if zipname != "C:\\Users\\14169\\Downloads\\yasuobao\\1.zip":
ts1 = zipfile.ZipFile(zipname)
res = re.search('[0-9]*',ts1.namelist()[0])
print(res.group())
passwd = res.group()
ts1.extractall("C:\\Users\\14169\\Downloads\\yasuobao\\",pwd=passwd.encode('ascii'))
zipname = "C:\\Users\\14169\\Downloads\\yasuobao\\"+ts1.namelist()[0]
else:
print("find")

在这里插入图片描述
解压到后来发生了报错
在这里插入图片描述
查看报错的压缩包,提示6位数字,直接使用ARCHPR工具爆破得出密码756698
在这里插入图片描述
在加密文件中搜索得到flag

easysteg

在这里插入图片描述
附件是一个缺少定位符的二维码。补全后扫描(不用补全好像也能扫出来)

扫描结果提示是某种常见的隐写,我们将二维码放入010中搜索PK字段发现是个压缩包,隐藏了另一张png图片
在这里插入图片描述
直接用stegpy得到flag,