MISC基础篇-压缩包

随笔(更新中…)

  • zip伪加密
  • 密码爆破,推荐使用ArchPR工具
  • 解压缩工具打开,看到隐藏信息
  • 加密压缩包内并不是所有文件都加密,也并不是加密的密码都一样。
  • CRC32攻击

CRC32攻击

CRC32: CRC是冗余校验码。CRC32是一个32bit的校验值,计算这个值时源数据块的每一个bit都参与计算。

zip文件中的CRC32攻击: 由于zip文件中保留了原始文件的CRC32校验码,因此,倘若源文件数据较小,我们便可以通过爆破明文内容的方式来破解zip文件。

特点: 适合攻击密钥较长、内容较少的情况

代码实现示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import zipfile
import binascii
import string

z = zipfile.ZipFile('flag.zip', 'r')

# 获取文件列表
file_list = z.namelist()
print(file_list)

# 获取源文件的CRC32校验码
CRC=[]
for i in file_list:
CRC.append(z.getinfo(i).CRC)
print(CRC)

# 爆破计算CRC32,这里以多个1字节源文件的题目为例
key = ""
for crc in CRC:
for i in string.printable:
if binascii.crc32(i.encode()) == crc:
key += i
break
print(key)

MISC基础篇-压缩包
http://ramoor.github.io/2025/04/10/MISC基础篇-压缩包/
作者
Ramoor
发布于
2025年4月10日
许可协议