隐写类型及例题
压缩包题目
-
文件融合且修改文件分隔符,常见于同一压缩包,使用010editor打开在文件头或者尾部
-
伪加密——ZIP文件
ZIP文件组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 -
真加密,使用软件暴力破解、藏在文件属性推荐APCHPR (可进行爆破/明文/字典/掩码攻击)
如何区分真假加密
无加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为00 00
假加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00
真加密
压缩源文件数据区的全局加密应当为09 00 -
多文件融合,使用工具分离得到压缩文件解压缩后获得
F5隐写
题目中提示刷新键不好用等内容,使用kali中F5解密工具F5-steganography
ntfs隐写
典型的是将文件隐藏在某个txt文件后面例题如下:
BUUCTF喵喵喵
使用工具ntfsstreamseditor扫描文件夹可以发现
BASE64隐写
BASE64是使用A-Za-z0-9/共64个字符进行的一种编码,“=”用来作为填充字符。
隐写方式
将要编码的内容转换为2进制(一个字符对应8位二进制),然后以6位二进制为一组找到对应的base64编码进行翻译,编码的文本字节数是3的倍数时,刚好可以编码成4个字符。如果有字符剩余则需要使用0补充为正好6的倍数,这个补充的0的位置在base64翻译时会被丢弃,因此不会对解码产生影响,因此这部分进行一些负责可以完成隐写,后面补充的部分使用“=”填充,剩余1个字符补充两个“=”,剩余两个字符补充一个“=”
翻译代码演示:
执行结果:
如上图可以看出在最后一个字符进行了隐写
解题方法是将最后一个的隐写字符拼接到一起进行翻译出来即可得到flag
文件拼接
-
考虑两个文件中间是否有隐藏字符串
buuctf 我吃三明治 -
考虑是否隐藏的文件内有flag