思路
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~}