summer14

文件隐写(一)

零宽度字符隐写

零宽度字符是一些不可见、不可打印的字符,在页面中用于调整字符的显示格式。零宽度字符本质上是unicode编码。

零宽度字符隐写:需要加密的内容转换为二进制,然后将二进制转换成一系列的零宽度字符,这样加密的内容就被隐藏了(普通文本编辑器不显示零宽度字符)。

常见零宽度字符

  U+200B:零宽度空格

  U+200C:零宽度非连接符

  U+200D:零宽度非连接符

  U+200E:从左到右书写标记

  U+200F:从右到左书写标记

[UTCTF2020]zero

用Windows自带的文件编辑器打开

  

 再用vim打开,实际上文件包含了许多零宽度字符

  

 把文本复制到http://330k.github.io/misc_tools/unicode_steganography.html,点击“decode”,即可得到加密的信息。

 

EXIF信息隐写

EXIF描述图片的属性、结构、拍摄参数等信息

[WUSTCTF2020]find_me

查看.jpg文件属性,备注显示盲文

  

使用cyberchef将盲文(Braille)翻译成英文

 

base64隐写

base64隐写的原理

  base64编码过程中,为了使字符串的二进制位数是6的倍数,添加了若干位的0,而这些0在解码过程中会被丢弃,不会影响解码的正确性。

  把要隐藏的信息覆盖掉这些不影响解码过程的“0”,就实现了base64的隐写。

提取出隐写的内容(与base64解码的过程一样):对于一个base64编码,去掉等号,根据base64转换表把每个字符表示成6位二进制形式;得到的二进制数据每次取8位(一个字节大小),剩下小于8位的就是隐写的内容。

[ACTF新生赛2020]base64隐写

  

#!/usr/bin/env python3
base64_list = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"         #base64编码表
 
with open("ComeOn!.txt", 'r') as f:
    var_base64_steg = ''
    line = f.readline()
    while line:
        line = line.split('\n')[0]        #取每一行,去掉换行符
        while line[-1] == '=':          #去掉等号
            line = line[:-1]
        var_base64 = ''
        for var in line:
            var_bin = bin(base64_list.index(var))[2:]        #每个字符对应编码表中的数字,转为二进制,去掉‘0x’前缀
            if len(var_bin) != 6:
                var_bin = '0' * (6 - len(var_bin)) + var_bin   #如果长度不足6位,在前面补‘0’
            var_base64 += var_bin           #拼接这一行所有字符的二进制数
        if len(var_base64) % 8 != 0:        #如果这一行的二进制数不能被8整除,那么剩余的二进制数就是隐写的内容
            var_base64_steg += var_base64[-(len(var_base64) % 8):]
        line = f.readline()

    print(var_base64_steg)     ##隐写在base64中的二进制

    message = ''
    for i in range(0, len(var_base64_steg), 8):
        if int(var_base64_steg[i:i+8], 2):
            message += chr(int(var_base64_steg[i:i+8], 2))
    print(message)

 

GIF隐写

把信息隐藏在一个GIF图片中的某一帧中。

使用Stegsolve->Frame Browser查看每一帧的画面 

   

 

二维码取反色

二维码黑白颜色对调,需要对其进行反色处理。

windows自带画图工具

  

docx文档隐写

  docx文档本质上是一个zip压缩文件,把后缀名改成.zip解压后在word文件夹中即可查看到隐藏的文件

 

doc文档隐写

  隐藏文字:选中文字右键->字体

    

  白色字体:字体颜色与背景色一致,需要选中文字修改成其他颜色查看隐藏文字

 

posted on 2023-04-23 21:21  summer14  阅读(235)  评论(1编辑  收藏  举报

导航