2022年浙江省大学生网络与信息安全竞赛-Misc部分(决赛)
最终排名:第9还是第8来着,忘了,反正是一等
要附件私信吧,不回复 就是回家掰苞米去了
checkin_gift
两个图片文件拼接,中间冗余字符:
Gift from glzjin: FIWOIxqEZyIWJwIKF01PHxqIZyqYJIWMGHInIRSMJycAGIcKE1yFHH1IZyEAGycEFRWGE0ACDyuAFyWKE05ZAD== Have a nice time, Bye!
双等号后缀,base
家族编码特征
先ROT13
解码 key=13
SVJBVkdRMlVJWjVXS01CUkdVMldLWVJZTUVaVEFZWlpNTVpXR1lSUU1VMlRNTlpRSEJTR0NPQlhNSlJXR05MNQ==
然后Base64
解码
IRAVGQ2UIZ5WKMBRGU2WKYRYMEZTAYZZMMZWGYRQMU2TMNZQHBSGCOBXMJRWGNL5
最后Base32
解码
DASCTF{
e0155eb8a30c9c3cb0e56708da87bcc5}
m4a
附件名字是m4a
,修改后缀为.m4a
,打开,是一段摩斯电码的音频
格式工厂,转换为mp3
文件,使用Audacity
打开
将摩斯密码抄下来:
-... .- ....- ...-- -... -.-. . ..-. -.-. ..--- ----- ....-
解密:
BA43BCEFC204
然后发现,文件尾部有逆序的PK头,压缩包
找到文件头和文件尾,手动分离,另存为out.txt
逆序脚本:
with open('out.txt','rb') as f:
hex_list = ("{:02X}".format(int(c)) for c in f.read()) # 定义变量接受文件内容
buflist = list(hex_list) # 用列表保存信息,方便后续操作
list1=buflist[::-1]
flag=''
for i in list1:
flag+=i
print(flag)
然后将16进制数据,恢复为压缩包
import binascii
# 打开文件并读取其中的16进制数据
with open("out.txt", "rb"