BMZCTF 2020公开赛 MISC(下)

BMZCTF 2020公开赛 MISC(下)

tiga

题目状况

BMZCTF 2020公开赛 MISC(下)

misc.zip被加密了,在win下看到文件是txt格式而且毫无(实质)内容的时候,我就猜测应该是0宽度隐写

BMZCTF 2020公开赛 MISC(下)

使用0宽度隐写,在这里解密

解密后BMZCTF 2020公开赛 MISC(下)

密码是GiveTiGaGuang!

解压misc.zip后得到如下内容

BMZCTF 2020公开赛 MISC(下)

打开Password内容看一下

BMZCTF 2020公开赛 MISC(下)

再一次根据我为数不多的经验,推测应该是使用crc爆破

其中关于使用crc爆破的原因可以看这个

BMZCTF 2020公开赛 MISC(下)

CRC碰撞原理就是构造一个和源文件等长的字符串,然后再对其进行CRC校验,比较校验码是否相同即可。

嫖来的脚本

import binascii
import string

def crack_crc():
    print('-------------Start Crack CRC-------------')
    crc_list = [0x14433530, 0xaf251007, 0xd554e7b6, 0xebb3156, 0xbb474d49, 0x2cb8a39b, 0x75fe76f0]
    comment = ''
    chars = string.printable
    for crc_value in crc_list:
        for char1 in chars:
            for char2 in chars:
                for char3 in chars:
                    res_char = char1 + char2 + char3
                    char_crc = binascii.crc32(res_char.encode())
                    calc_crc = char_crc & 0xffffffff
                    if calc_crc == crc_value:
                        print('[+] {}: {}'.format(hex(crc_value),res_char))
                        comment += res_char
    print('-----------CRC Crack Completed-----------')
    print('Result: {}'.format(comment))

if __name__ == '__main__':
    crack_crc()

根据压缩包内的crc32值填入crc_list即可

BMZCTF 2020公开赛 MISC(下)

最后结果是这样的,密码是T&hg%WL0^rm@c!VK$xEt~

BMZCTF 2020公开赛 MISC(下)

解压后得到了一个you can also.zip,不出所料又加密了

BMZCTF 2020公开赛 MISC(下)

做不下去了,找提示

根据之前那张没有用到的迪迦.jpg,可以在文件尾看到这些信息

BMZCTF 2020公开赛 MISC(下)

既然这么说了,那就爆破

这里我试了两种不同方式,一种是爆破攻击10位,一种是掩码攻击,都没有出来

我是个*,选错压缩包了。。

最终还是爆破出来了

BMZCTF 2020公开赛 MISC(下)

密码是2001701725

BMZCTF 2020公开赛 MISC(下)

看我标黄的地方,得到压缩包内的一个文件了,明文攻击

先把得到的you can also.jpg压缩成与flag.zip一致的格式,也就是zip

看我的配置

BMZCTF 2020公开赛 MISC(下)

我的配置对了,但是报错在选定的档案中没有匹配的文件。如果您想要仅使用文件的一部分执行明文攻击,请修改档案,使每个档案中只包含一个文件。

上网查了,我压缩的文件,与加密文件压缩方法不一致。。。。

我在这里尝试了好久(一天多),发现虽然压缩算法就那么几种,但是每种压缩工具的压缩方法是不同的,我先后尝试了使用python进行flag.zipcompress_type的读取,然后再通过write的方法对youcanalso.jpg进行指定compress_type压缩和删除flag.zip中的flag.txt再尝试均失败后。。。

最后还是根据出题人的wp使用了使用和出题者一样的压缩工具bandizip。。

这回压缩后的youcanalso.zip就可以和flag.zip进行明文攻击了

BMZCTF 2020公开赛 MISC(下)

解出密码是1amT1G@

打开flag.txt看一下,经典的504b

BMZCTF 2020公开赛 MISC(下)

老套路,复制到winhex作为一个另存为zip文件

BMZCTF 2020公开赛 MISC(下)

根据工具分析加肉眼辨认,很轻易地就可以辨认出这压缩包其实是个docx文档

BMZCTF 2020公开赛 MISC(下)

以docx格式打开后记得勾选设置里的显示-->隐藏文字

BMZCTF 2020公开赛 MISC(下)

记得选中所有文字,然后字体,取消隐藏文字,不然无法复制

BMZCTF 2020公开赛 MISC(下)

我最开始是时使用ciphey来解的。。。

我有个习惯,就是需要使用Linux的时候我直接用ssh连接服务器使用的,一般不用虚拟机的kali

结果这回。。。。ciphey成功的把我的垃圾服务器资源耗尽了。。。。。

上一篇:CRC校验(个人小结)


下一篇:6、CRC校验