BUUCTF misc 专题(103)[MRCTF2020]Hello_ misc

下载附件,解压出来一张图片和一个加密压缩包

先看图片,名称提示要我们修复它

zsteg分析图片发现有一张png和一个zip,把它们分离出来

 

 

 

图片显示了压缩包密码:!@#$%67*()-+

打开压缩包看看

大致思路是,转为二进制后发现只有前两位不同,拼接以后发现就前两位不一样,取前两位重组转为十进制,再转为字符,这里直接用了大师傅的脚本

with open('out.txt') as a_file:
    content = [x.strip() for x in a_file.readlines()]
bins = []
for i in content:
    bins.append(bin(int(i))[2:].zfill(8)[:2])
stringBins = ''.join(bins)
num = 0
flag = ''
for i in range(int(len(stringBins) / 8)):
    flag += chr(int(stringBins[num:num + 8], 2))
    num += 8

print(flag)

 

rar-passwd:0ac1fe6b77be5dbe

解压rar压缩包 

 发现是个word,改后缀为doc,打开

在文档底部发现了被隐藏的白色字体的文字,换个显眼的颜色,复制保存到txt当中,用脚本进行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

flag{He1Lo_mi5c~}
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值