下载文件,解压后是68个压缩文件,而且每个文件都是加密的,也没有提示密码,爆破?胡扯,这么多,还不想耗死。。
正确思路CRC32碰撞,介绍一下CRC32碰撞:
CRC32:CRC本身是“冗余校验码”的意思,CRC32则表示会产生一个32bit(8位十六进制数)的校验值。
在产生CRC32时,源数据块的每一位都参与了运算,因此即使数据块中只有一位发生改变也会得到不同的CRC32值,利用这个原理我们可以直接爆破出加密文件的内容
给出爆破脚本:
#coding:utf-8
import zipfile
import string
import binascii
def CrackCrc(crc):
for i in dic:
for j in dic:
for p in dic:
for q in dic:
s = i + j + p + q
if crc == (binascii.crc32(s) & 0xffffffff):
#print s
f.write(s)
return
def CrackZip():
for I in range(68):
file = 'out' + str(I) + '.zip'
f = zipfile.ZipFile(file, 'r')
GetCrc = f.getinfo('data.txt')
crc = GetCrc.CRC
#以上3行为获取压缩包CRC32值的

博客讲述了如何利用CRC32碰撞解决一个包含68个加密压缩文件的谜题。通过爆破脚本找到Base64编码,解码后在WinHex中修复文件,添加RAR文件头以揭示隐藏的flag。

1273

被折叠的 条评论
为什么被折叠?



