PICTURE writeup

99 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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。

​编辑​编辑

提交的时候显示答案错误,在建议栏报错后找到官方客服,两小时后再次提交,完成。(为了确认答案还做了第二遍并上传了过程......)