BUUCTF-[MRCTF2020]Hello_misc

本文讲述了在IT安全挑战中,如何通过分析图片属性、使用工具如binwalk和foremost寻找隐藏信息,以及处理docx文档的隐写和base64编码技巧,最终解密出旗标Hello_misc~的过程。
摘要由CSDN通过智能技术生成

思路

1.遇到图片先看看属性,然后binwalk看看有没有图片隐写,如果有foremost,

分离出来一个图片和一个带密码的压缩包,肯定密码是在图片里面的,

这里的图片在Red通道隐写了一张图片,图片上的内容是压缩包的密码,

2.压缩包里面是zip改docx,docx隐写先全选把字体颜色改了,如果没有全选->右键->字体->看隐藏文字是否勾选了,这里第一步就出来了,

3.接下来就是编码了,base64编码,一开始我把换行给弄没了,看不出来,末初大佬的是把换行留着了,然后观察把1换成了空格,最后得到flag

有图片先看属性信息,没东西,那就binwalk一下,有东西,foremost分离

分离出来一张图片,一个带密码的压缩包,那就从这张图片找密码咯

010看了下文件尾巴没有东西,搜索pass也没东西,可能是LSB,用stegsolve打开最低位看看也没东西,上网看了下大佬们的,发现在红色的最高位

保存后是这样的

密码:!@#$%67*()-+

解压出来是这样的,127,255,63,191,有191不是TTL隐写,上网看了下大佬们的思路

是先将这些转换成2进制,然后观察发现只有前两位不同,将前两位整合起来,转为ASCII码

代码如下:  是看末初大佬的,链接如下

BUUCTF:[MRCTF2020]Hello_ misc-CSDN博客

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="")

0ac1fe6b77be5dbe

解压flag.zip后是这个文件夹,做过docx改zip的同学知道,这个就是docx,我们把后缀改一下

docx隐写,先全选换颜色

base64解码

import base64

with open('data.txt','r') as file:
    for i in file.readlines():
        line = str(base64.b64decode(i),'utf-8')
        print(line)

我们把1消掉试试

离远点看更容易看清

flag{He1Lo_mi5c~}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值