CRC32碰撞

发布于 2018-02-04  2.08k 次阅读


moctf的机密压缩包
题目给了一个压缩包,压缩包里有5个txt文件,由于题目没有给出多余的提示,用爆破密码也不行,所以百度了一下发现可以用crc32碰撞试试

py脚本如下:

import datetime
import binascii
def showTime():
    print datetime.datetime.now().strftime("%H:%M:%S")

def crack():
    crcs = set([0x5a52d4f4l,0x5fa0f28bl,0xf899f771l,0x957af788l,0xf8208c12l])
    r = xrange(65,127)
    for a in r:
        for b in r:
            for c in r:
                txt = chr(a) + chr(b) + chr(c)
                crc = binascii.crc32(txt)
                if(crc & 0xffffffff) in crcs:
                    print txt
showTime()
crack()
showTime()
20:37:24
asd
ctf
qa}
zxc
{qw
20:37:25

按照题目的要求可以得到moctf{qwasdzxcqa}