2022 第五届 浙江省大学生网络与信息安全竞赛技能赛 MISC方向(超详细版)
1.checkin_gift解码:DASCTF[951ce4d49bda2e62bf4dd644c5efe9df)
首先,导入010 editor(软件) ,找到结尾“Gift from glzjin”
复制内容:
FIWOIxqEZyIWJwIKGIcPI01AJyEEJyERE0yMI0gCDyyUHGWHH05XI0qXHyECG0WnGIyME0ICFyyAIyEUEIcZAD==
粘贴到CyberChef(可到github下载打开该网页),使用output旁边的魔术棒两次即可得到解码结果:
由于结尾有两个==,可以知道是base解码。
2.m4a解码:DASCTF{5e0f98a95f79829b7a484a54066cb08f}
首先,将m4a文件转为.m4a格式,打开听,发现是摩斯密码,用格式工厂(软件)转成mp3格式。
选择音频选项卡,选择“->MP3”,确定等待即可
用Audacity查看波形,手记密码:
-… .- …- …-- -… -.-. . …-. -.-. …— ----- …-
密码复制到CyberChef魔术棒得到解压包密码:BA43BCEFC204
其次,导入010 editor,尾部找到KP…KP,为zip倒序,复制到新文件(可以在010 Editor里空白新建一个)
写脚本a.py实现正序,得到a.zip,
```python
f=open ("Untitled1","rb")
with open("Untitled1","rb")as f:
a=f.read()
with open("a.zip","wb")as fl:
fl.write(a[::-1])
输入前面得到的解压包密码:BA43BCEFC204
在atbash.txt得到:(+w)v&LdG_FhgKhdFfhgahJfKcgcKdc_eeIJ_gFN
然后复制到CyberChef,搜索ROT47和Atbash Cipher(顺序不能颠倒)用这个解是因为标志:(+w)和_,是古典码的转换,得到结果
3.Unkn0wnData解码:DASCTF{ad15eecd2978bc5c70597d14985412c4}
首先丢进010 editor,尾部存在base64编码(有==),从V2开始选取一直到=
V2hlcmUxc0tleT8KCu2gve25g+2gve2yte2gvO28v+2gvO2+pO2gve26qu2gvO28j+2gve2wju2gvu21i+2gve26q+2gve24huKche2gvO29je2gvO2+pO2gve2wmO2gvO28j+KEueKMqO2gve24je2gvO2+iOKcie2gvu20o+2gve27qe2gvO29jO2gve26qu2gvO29tOKEueKYuu2gve26ueKdk+2gvO29tO2gve20rO2gvO28qu2gvO29te2gve2xo+2gve20hOKYg+2gve2xjO2gve24ju2gve2xjO2gve20hO2gve2xjO2gve20qu2gvO29jO2gve2xge2gvO29je2gvO29jO2gvO28j+2gvO2+g+2gve26sO2gvO29te2gve2wje2gvO2+heKche2gvO29je2gvu22k+2gve24ju2gve24iu2gvu20o+2gvO2/ue2gvO29je2gve2yp+2gve20hO2gve20hO2gvu20o+2gve2xge2gvu21i+2gve26q+KYuu2gvO29tO2gve24ge2gve26q+2gve24h+2gve26sOKPqe2gve24je2gvO28v+2gve2yte2gvu22k+2gve24h+2gve27qeKclu2gve21ue2gve2wju2gve2zgu2gve2zgu2gve2yp+2gve23ku2gve23kg==
复制到CyberChef,用from base64+decode text得到emjo:
Where1sKey?
🙃💵🌿🎤🚪🌏🐎🥋🚫😆✅🍍🎤🐘🌏ℹ⌨😍🎈✉🤣🛩🍌🚪🍴ℹ☺🚹❓🍴🔬🌪🍵👣🔄☃👌😎👌🔄👌🔪🍌👁🍍🍌🌏🎃🚰🍵🐍🎅✅🍍🦓😎😊🤣🏹🍍💧🔄🔄🤣👁🥋🚫☺🍴😁🚫😇🚰⏩😍🌿💵🦓😇🛩✖🕹🐎📂📂💧🗒🗒
其次,用stegsolve对flag.png进行lsb隐写解密,发现504304字段,证明存在压缩包
选择“Save Bin",得到提取的十六进制数据,选取数字(不要乱码)另存为2.text,写脚本a.py,得到out.zip
import binascii
# 打开文件并读取其中的16进制数据
with open("2.text", "rb") as f:
hex_data = f.read()
print(hex_data)
# 将16进制数据转换为二进制数据
bin_data = binascii.unhexlify(hex_data)
# 将二进制数据写入zip文件
with open("out.zip", "wb") as f:
f.write(bin_data)
解压得到key.txt.写脚本b.py
normalKeys = {
"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l",