BUUCTF MISC ZIP


這道題有點煩,拿出來單獨寫
先貼兩張圖,一會用
圖一
圖二

首先這題給了68個壓縮包,
在這里插入圖片描述
每個壓縮包里只有4bytes大小,於是可以想到是crc爆破,自己寫的腳本總是被killed,犯懶找了個腳本

 
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 = 'out'+str(i)+'.zip' crc = zipfile.ZipFile(file,'r').getinfo('data.txt').CRC CrackCrc(crc) dic = string.ascii_letters + string.digits + '+/=' f = open('out.txt','w') CrackZip() print("CRC32碰撞完成") f.close

 

然后得到了一串base64編碼,解碼為十六進制
在這里插入圖片描述
於是前面的圖派上用場了,看到CF 90 73我們知道這是一個殘缺的rar,補上52 61 72 21 1A 07 00 保存后解壓,得到
在這里插入圖片描述
這就很皮了,好不容易搞到flag.txt結果就給我看這個,
於是看第二張圖,在文件頭crc和位標記之間有一個74,這一位是固定的,但我們現在是7A在這里插入圖片描述

將7A改為74,解壓
在這里插入圖片描述
這個CMT里就是真正的flag了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM