【WUSTCTF2020】spaceclub
知识点:(空格隐写)
空格在普通文本下无法显示,但使用 Sublime Text 编辑器可以清楚点看见空格
出题人常会在这里出 摩斯电码 或者二进制01
题目分析
这里是二进制01,转ASCII编码
短的空格是0,长空格是1
代码:
|
|
wctf2020{h3re_1s_y0ur_fl@g_s1x_s1x_s1x}
粽子的来历
知识点:doc文件损坏,二进制01
这题没考察啥,就纯杂项,杂。
题目分析
打开.doc发现文件损坏,拖进 010editor查看,将被修改的部分16进制全部写成FF
打开后,发现每行诗的行间距不同,1.5倍行距为1,1倍行距为0。题目提示flag常在有 DBAPP标记的文件中,搜了一下只有第3个.doc文件中有这个标记。将得到的二进制01数据进行md5加密,拿到flag
flag{d473ee3def34bd022f8e5233036b3345}
寂静之城
题目分析
本来是道社工题,但好像题目没了,看了下别人很久前写的WP:
flag{31010419920831481363542021127}
派大星的烦恼
知识点:二进制01逆序,ASCII,图片隐写
二进制逆序:01011010,逆序输出01011010
图片隐写:使用010editor打开,分析16进制数据
ASCII:将二进制数据转化为ASCII字符
题目分析
由题目给的条件可以知道:
|
|
使用010editor打开得到二进制数据:
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100
将二进制数据转ASCLL,这里分析一下,为什么是下面这样写:
拿到二进制数据后,我们直接进行ASCII转码会得到一串乱码,将二进制数据每8位一组分割,可以发现:
01101100,00101100,00001100第组数据明显不能得到正常的字符,但逆序后00110000=>48,ASCII值为0。
所以我们将每组的数据都进行逆序,但每组数据的位置保持不变,得到的数据提交后正确。
|
|
flag{6406950a54184bd5fe6b6e5b4ce43832}
【ACTF新生赛2020】music
知识点:mp4文件头,文件异或
mp4(.m4a):文件头信息为(0000 0018 6674 7970 6973 6f35 0000 0200)
文件异或:将文件进行异或操作即可
题目分析
打开vip.m4a 文件提示文件损坏,打开010editor查看,发现文件头中有大量的 A1 ,将源文件与 A1进行异或。
使用010 Editor
在 工具 -> 十六进制运算 -> 二进制异或
对整个文件内容进行异或
修复文件后,打开录音得到:actfabcdfghijk
flag{abcdfghijk}
【SCTF2019】电单车
知识点:无线电PT224x
参考文章:http://www.kb-iot.com/post/756.html
钥匙信号(PT224X) = 同步引导码(8bit) + 地址位(20bit) + 数据位(4bit) + 停止码(1bit)
钥匙信号(PT226X) = 同步引导码(4bit) + 地址位(8bit) + 数据位(4bit) + 停止码(1bit)
题目分析
使用 AudaCity 打开题目给的 .WAV 文件 ,得到一串音频文件,转化成二进制数据:
0 0111010010101010011000100 011101001010101001100010
通过捕获的数据分析可知前20位就是地址为 01110100101010100110
,地址码后面的5位是数据位和停止位00100
flag{01110100101010100110}
hashcat
知识点:hashcat破解密码
工具1:
Hashcat 是世界上最快的密码破解程序,是一个支持多平台、多算法的开源的分布式工具。(kali最新版自带)
官方:https://hashcat.net/hashcat/
Github:https://github.com/hashcat/hashcat
工具2:
Accent OFFICE Password Recovery v5.1 CracKed By Hmily 进行破解
工具3:
office2john.py 破解
Github 项目地址 https://github.com/openwall/john
注意:在win下安装的话还需要安装 john ,而kali自带 john(推荐安装在kali使用)
学习文章:
题目分析
打开题目后,使用010editor查看,可知文件头为 D0 CF 11 E0,文件为 xls,doc,ppt类型的。
添加后缀名 .ppt ,打开后需要输入密码解密。
方法一:
使用Accent OFFICE Password Recovery v5.1 CracKed By Hmily 进行破解,使用暴力破解。选择4位的数字进行攻击。
得到密码 9919,打开 ppt后,在倒数第二幅图中,将背景换个深色,得到flag
方法二:
使用最强密码破解工具 HashCat ,kali最新版自带。
在使用 Hashcat前,需要先在kali上 clone github上的 office2john.py 程序,使用 office2john.py 来获取文件的hash值,再利用 HashCat 破解 hash值,拿到密码。
|
|
|
|
准备一个好用的字典(zidian.txt)
|
|
破解成功后,使用下面命令查看爆破的密码
|
|
--------------------------------------------------------------------------------------
下面的方法是使用 Hashcat 来破解hash值
|
|
status.....................................Cracked显示已经获得了密码
|
|
【UTCTF2020】zero
知识点:零宽字符隐写
参考文章:
零宽字符 :字节宽度为0的特殊字符
字符包括:
零宽度空格符 (zero-width space) :U+200B | 用于较长单词的换行分隔 |
---|---|
零宽度非断空格符 (zero width no-break space) :U+FEFF | 用于阻止特定位置的换行分隔 |
零宽度连字符 (zero-width joiner) :U+200D | 用于阿拉伯文与印度语系等文字中,使不会发生连字的字符间产生连字效果 |
零宽度断字符 (zero-width non-joiner) :U+200C | 用于阿拉伯文,德文,印度语系等文字中,阻止会发生连字的字符间的连字效果 |
左至右符 (left-to-right mark) :U+200E | 用于在混合文字方向的多种语言文本中(例:混合左至右书写的英语与右至左书写的希伯来语),规定排版文字书写方向为左至右 |
右至左符 (right-to-left mark) :U+200F | 用于在混合文字方向的多种语言文本中,规定排版文字书写方向为右至左 |
在线加解密网站:(加解密只能使用同一种方式或在同一个网站)
http://330k.github.io/misc_tools/unicode_steganography.html
https://yuanfux.github.io/zero-width-web/
http://www.atoolbox.net/Tool.php?Id=829
其他工具
-
zwsp-steg-py
-
github项目
题目分析
题目提示 zero,打开文本后我还以为是凯撒移位,爆破了下发现不行,回过头看题目不明白 zero有什么含义。查了资料后知道这里考的是零宽字符隐写 。
加解密时只能使用相同的方式,即使用同一种加密方式解密,或者在同一网站加解密。这里只能在 http://330k.github.io/misc_tools/unicode_steganography.html 这个网站解出flag
flag{whyNOT@sc11_4927aajbqk14}
【*CTF2019】otaku
知识点:伪加密,word隐写,zsteg提取png图片隐写
**伪加密:**直接使用360压缩打开(无视伪加密)或者使用 binwalk 分离
word隐写: Word文字的三种隐藏方法
-
word显示隐藏文本:
1 2 3
#点击word左上角的“文件”,进入后台试图,点击“更多”,点击“选项”,会打开“Word选项”对话框,在“显示” #里勾选“隐藏文字”,意思是显示word中的隐藏文字,确定即可。此时word里有隐藏效果的文本下面会有一条 #虚线,当你打印的时候这些隐藏效果的文本是不存在的。
png图片隐写:使用 zsteg 解密
zsteg可以检测PNG和BMP图片里的隐写数据。
|
|
kali中安装使用命令:
|
|
zsteg使用帮助命令
|
|
题目分析
下载文件为压缩包,伪加密。可以使用360压缩直接解压(可以无视伪加密),或者在kali2021版中使用 binwalk 提取文件
|
|
得到文件
|
|
打开 Anime_Intro.doc 这里,我的word开启了显示隐藏文字的,经常做杂项的应该会开启。
|
|
flag.zip文件需要解压密码
flag.zip中我们可以看到里面也有一份文本文件,通过题目的提示(BUU这里没写)
|
|
我们可以知道这里可以利用zip明文攻击,将得到的隐藏文本进行 gbk 编码后,用WINRAR压缩成 .zip 文件。
因为 flag.zip 是用WINRAR压缩的,所有我们的 test.txt文件也要采用一样的压缩方式。
将隐藏文件写入文本,另存为时编码格式采用 ANSI (包含GBK)
压缩后对比 test.zip 和 last words.txt 文件的CRC值一样。用 ARCHPR进行明文攻击。
利用口令My_waifu 解压 flag.zip 后得到 :flag.png 查看了属性3.41M,感觉里面应该进行了数据隐写。
直接用 图片隐写信息快速检测工具——zsteg
,(How to use? Google)
*ctf{vI0l3t_Ev3rg@RdeN}
【湖南省赛2019】Findme
知识点:PNG格式信息,TweakPNG,CRC修复宽和高,CRC隐写
学习:PNG文件格式详解 了解PNG的文件格式
使用python脚本 :CRC修复宽和高的脚本
在CRC处隐写16进制信息
分析PNG ,数据CHUNK信息
题目分析
压缩包中有5张图,一张张来分析
第一张图 1.png
用TweakPNG打开,提示IHDR部分的CRC值不正确,在看图片我们可以知道应该是图片的高宽被篡改了。
使用pyhton脚本通过CRC修复图片的宽和高:
|
|
得到:
宽为:bytearray(b'\x00\x00\x00\xe3')
在对应位置补齐标识
拿到正确图片:
|
|
|
|
第二张图 2.png
用 010editor打开,发现 PNG图片尾有 7z 文件,用 binwalk分离,但没有识别出来。
我用手动分离后新建为 7z.zip 打开发现文件损坏,打开查看16进制,
发现和zip的文件头 504B0304 相似,将全部的 37 7A(7z)修改为 50 4B
7z.zip文件正常打开后,发现里面有 999 个 .txt 文件通审查文件的大小或者 CRC值,
找出618.txt文件中的信息You find it: 1RVcmVfc
第三张图 3.png
还是用010editor审查3.png的信息
发现chunk[0]-chunk[6]的每一个数据块的crc值都很小
并且是可打印的Ascii字符
python.exp
|
|
第四张图 4.png
直接在最末尾给出来了
cExlX1BsY=
用 TweakPNG分析PNG图片信息,可以发现PNG中隐写了一个text文本
正确的base信息应该为 cExlX1BsY
第五张图 5.png
Yzcllfc0lN
得到的所有信息:
|
|