CTF(capture the flag)

【CTF MISC】压缩包题型

2020-06-16  本文已影响0人  Du1in9

一.常规操作

二.CRC32碰撞

压缩文档中会提供一个CRC32的值,这个值是文档在压缩之前的CRC32值,每个不同的文件都有唯一的一个CRC32值,小范围内基本不可能重复

先在7-zip里看CRC32值和文档字节大小

也可以用脚本获取CRC32值

# 我这里flag.zip里有5个文档
import zipfile
import binascii

f = zipfile.ZipFile('flag.zip', 'r')
for I in range(1,6):
    GetCrc = f.getinfo(str(I)+'.txt')
    crc = GetCrc.CRC
    print hex(crc)

用工具碰撞,命令:python crc32.py reverse CRC32值
https://github.com/theonlypwner/crc32

所以这里猜测“can_U_”就是flag的一部分了
同样也可以用脚本碰撞,只不过字节数大了就要爆破很久...

# 我这里字节数为6
import binascii

dic = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- ={}[]"
crc = 0x1bf18e63    
for i in dic : 
    for j in dic:
        for p in dic:
            for q in dic:
                for a in dic:
                    for b in dic:
                        s=i+j+p+q+a+b
                        if crc == (binascii.crc32(s) & 0xffffffff):
                            print(s)

三.伪加密

四.明文攻击

如果有一个加密压缩包里的相同的未加密文件,把该文件用zip压缩即可利用它来破解加密压缩包,由于用不同的压缩工具压缩的压缩包进行破解时会提示不符,可以挨个儿试一下,反正常用的压缩软件也不多,winrar,好压,7z,Bandizip

五.掩码爆破

六.字典爆破

# Python3
pw = 'ISCC'
dic = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
f = open('dic.txt','w')
for i in dic:
    for j in dic:
        for a in dic:
            for b in dic:
                f.write(pw+i+j+a+b+'\n')
f.close

七.在图片中隐藏压缩包

八.通过进制转换隐藏信息

上一篇下一篇

猜你喜欢

热点阅读