BUUCTF_zip 1 压缩包的研究_CRC32爆破

  • Post author:
  • Post category:其他


在这里插入图片描述

拿到一堆的加密的压缩包,也不是伪加密,也不能爆破。我反正是爆破了所有8位的字母加数字密码。

(要是弄一个中文进去,神仙也爆破不了)


但是每一个的大小倒是很小。

在这里插入图片描述

这个就很难办了。

原来有一个叫CRC32校验码的东西。

在这里插入图片描述

就是属性最后的那个东西。

之前有过拿相同校验码的文件,去破压缩包里的文件的题目,用到就是这个东西。

CRC32校验码就是用来检验文件内的数据是否正确的。

个人理解应该是做了一个

不可逆的编码

就像是有一个故事说的是:投标公司为了防止内鬼泄露价格消息,就做了一个“基于区块链的二次检验程序”。虽然不知道具体是怎么操作的。但是第一次提交要求把投递的计划书做一个不可逆加密。类似一个文件摘录吧。

信息不能从校验码复原,因为加密过程有损失,或者本来就没把完整的信息丢进去,但是可以从校验码发现信息是否有修改,因为校验码是以信息为明文加密的。

但是如果信息本身

足够小

,那么这个

校验码就足够用来检验爆破的枚举的信息是否是原来的信息

。真的是成也萧何,败也萧何。

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# python3
import zipfile
import string
import binascii


def CrackCrc(crc):
    for i in dic:
        for j in dic:
            for k in dic:
                for h in dic:
                    s = i + j + k + h
                    if crc == (binascii.crc32(s.encode())):
                        f.write(s)
                        return


def CrackZip():
    for i in range(0, 68):
        file = "C:/Users/brighten/Desktop/b2ca8799-13d7-45df-a707-94373bf2800c/"+'out' + str(i) + '.zip'
        crc = zipfile.ZipFile(file, 'r').getinfo('data.txt').CRC
        CrackCrc(crc)
        print('\r' + "loading:{:%}".format(float((i + 1) / 68)), end='')


dic = string.ascii_letters + string.digits + '+/='
f = open('out.txt', 'w')
print("\nCRC32begin")
CrackZip()
print("CRC32finished")
f.close()

在这里插入图片描述

就是做一个四重循环枚举所有的信息去和CRC32校验码对答案。

下面用来取出CRC32的数值。

crc = zipfile.ZipFile(file, 'r').getinfo('data.txt').CRC

用来把枚举的字符串encode为 CRC32编码

binascii.crc32(s.encode())

最后得到的BASE64编码的数据。

z5BzAAANAAAAAAAAAKo+egCAIwBJAAAAVAAAAAKGNKv+a2MdSR0zAwABAAAAQ01UCRUUy91BT5UkSNPoj5hFEVFBRvefHSBCfG0ruGnKnygsMyj8SBaZHxsYHY84LEZ24cXtZ01y3k1K1YJ0vpK9HwqUzb6u9z8igEr3dCCQLQAdAAAAHQAAAAJi0efVT2MdSR0wCAAgAAAAZmxhZy50eHQAsDRpZmZpeCB0aGUgZmlsZSBhbmQgZ2V0IHRoZSBmbGFnxD17AEAHAA==

在这里插入图片描述

做BASE64解码,里面有可以识别的字符和一些意义不明的字符,就像是winhex的ASCII区一样,很想放到winhex里面。

这个文件里面能放txt文件,估计就是zip还是rar,反正也就那么两个常见。

结果是RAR文件。

需要在前面加RAR的头

52 61 72 21 1A 07 00

还有的人说最后那么7个字节是RAR文件尾。

好像和别的RAR文件不大一样。rar似乎是没有固定的文件尾。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



版权声明:本文为brightendavid原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。