今天是十二月的第一天。接着做题。
1,crc32
1,打开压缩包,发现里面有很多小的文本文件。也不长,猜测是crc碰撞。然后在找大佬借个脚本😓
import time
import zlib
def fuc1(str, times, len, pswdall, crcall): # 所有位置的可能字符一样
times += 1
for i in pswdall:
if times == len:
#print(str + i)
crc = zlib.crc32((str + i).encode())
if crc in crcall:
print(hex(crc)[2:], str + i)
#print(time.asctime())
else:
fuc1(str+i, times, len, pswdall, crcall)
def fuc2(str, times, len, pswdall, crcall): # 不同位置的可能字符不一样
times += 1
for i in pswdall[times-1]:
if times == len:
#print(str + i)
crc = zlib.crc32((str + i).encode())
if crc in crcall:
print(hex(crc)[2:], str + i)
#print(time.asctime())
else:
fuc2(str+i, times, len, pswdall, crcall)
print(time.asctime())
fuc1("",0,3,r" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~",{0xEA8B08F8,0x8AAB39,0x831D751B,0x5FC2CE98,0x3D01A5,0x28C5FEOE})
print(time.asctime())
然后就跑出来了。
6,5fc2ce98 050
5,28c5fe0e 051
1,ea8b08f8 067
4,831d751b 095
3,8aab3930 099
2,3d01a5b2 114
根据ascii表输入密码。得到图片
2,先放到010里面好像没有什么奇怪的东西,然后放到Linux里使用zsteg命令得到flag