本文已参与「新人创作礼」活动,一起开启掘金创作之路。
PICTURE From CISCN-2018-Quals MISC杂项
编辑
下载附件,得到一图片
编辑
图片用winhex打开,发现zlib文件头
编辑
用binwalk把文件分离,得到一个加密压缩文件及一个文本文件
编辑
编辑
将文件转化为十六进制,发现文件具有ascii编码特征
编辑
编辑
用kali解码后,文件具有base64加密特征,二次解码后把文件转化为zip文件
import zlib
import binascii
import base64
data = "".decode('hex')
result = binascii.hexlify(zlib.decompress(data))
print result
result = result.decode('hex')
print result
r = base64.b64decode(result)
print r
f = open(r"test1.zip","wb")
f.write(r)
f.close()
编辑
压缩文件打开后,文件破损,附有压缩文件密码提示
编辑
编辑
这个位置的提示前期以为是需要用python计算,后来发现覆盖内容为报错内容,只需找到报错提示代入即可。(这个位置个人感觉有点坑,在这里浪费了不少时间)
由winhex可知zip文件头前四位应为504B0304,更改后输入所得的密码打开。
编辑
编辑
原以为打开后可得到flag,文件里的flag显然经过加密。用uuencode解码得到flag。
编辑
编辑
提交的时候显示答案错误,在建议栏报错后找到官方客服,两小时后再次提交,完成。(为了确认答案还做了第二遍并上传了过程......)