[MRCTF2020]Hello_ misc
[MRCTF2020]Hello_ misc
压缩包里有1个压缩包和png图片
压缩包有密码,先对图片进行解析
发现红色通道里还藏有一张图片
得到zip压缩包密码:!@#$%67*()-+
这个密码是图片中藏着的压缩包的密码,输入后打开里面有一个out.txt文件
127
255
63
191
127
191
63
127
127
255
63
191
63
191
255
127
127
255
63
63
127
191
63
127
127
255
63
255
127
255
63
255
127
255
127
255
127
191
127
63
63
255
191
191
63
255
63
63
127
191
63
127
127
191
63
255
63
255
63
127
127
191
127
191
127
191
127
127
63
255
127
191
127
191
63
191
63
255
127
255
63
255
127
255
127
191
63
191
127
191
127
127
63
255
127
127
127
191
127
63
127
191
63
191
127
191
127
127
将这些数字转为二进制后发现,只有前两位是不一样的,因此写脚本把前两位提取,并以四个两位二进制一组,转为十进制,再转为字符
with open('out.txt','r') as Dec:
res = ''
for i in Dec.readlines():
Bin = '{:08b}'.format(int(i))
print(Bin)
Sub_Bin = Bin[:-6]
res += Sub_Bin
print(res)
for j in range(0,len(res),8):
full_bin = res[j:j+8]
print(chr(int(full_bin,2)),end="")
得到rar压缩包密码为0ac1fe6b77be5dbe,打开压缩包发现是word文件
修改为doc后缀后打开
修改字体颜色后发现最后藏有字符串
这里使用脚本对其进行base64解码
import base64
with open('1.txt','r') as file:
for i in file.readlines():
line=str(base64.b64decode(i),'utf8')
print(line)
直接看结果很难看清楚,把1替换成空格就清楚多了
import base64
with open('1.txt','r') as file:
for i in file.readlines():
line = str(base64.b64decode(i),'utf8')
print(line.replace('1',' '))
flag{He1Lo_mi5c~}