Bootstrap

头歌python实验:网络安全应用实践2-计算机取证

第1关:zip 压缩文件暴力破解

本关任务:编写一个能暴力破解加密 Zip 文件的小程序。

zip 压缩文件暴力破解

对于一个 zip 格式的压缩包,默认密码为 6 位,是数字和字母的组合。暴力破解的基本思路是,调用 Python 中的 zipfile 模块的 extractall 函数,尝试各种数字、字母组合,成功解压时返回相应的压缩密码。评测系统会判断返回的结果是否正确,正确即返回解压成功。

同学们可以思考下,如何破解密码是数字、字母、以及特殊字符的组合。 提示:itertools 模块,使用迭代器可以防止爆破的位数太多而爆内存。

根据提示,在右侧编辑器 begin-end 内补充代码,完成本关任务。

有一个加密的 Zip 格式的压缩文件 src/step1/evil.zip,它的密码未知。 现在已知密码是数字 012345 与字母 asd 的排列组合,请在右侧编辑器中的 Try 函数中,尝试破解这个文件的密码,并将其密码返回。 评测系统会尝试使用这个密码解压 src/step1/evil.zip,如果解压成功,则会输出解压成功,否则会输出解压失败。

使用密码成功解压时输出的解压成功即为通关条件。

import zipfile
import itertools

def Try():
    path = 'src/step1/evil.zip' #压缩文件路径
    #破解并返回密码
    #   请在此添加实现代码   #
    # ********** Begin *********#
    def TRY(path,password):
        try:
            with zipfile.ZipFile(path) as z_file:
                z_file.extractall("./",pwd=password.encode("utf-8"))
            return True
        except:
            return False
    
    chars="012345asd"
    for c in itertools.permutations(chars,6):
        password=''.join(c)
        result=TRY(path,password)
        if result==True:
            return password
            break

    # ********** End **********#

第2关:PDF 取证

本关任务:编写一个能读取 PDF 元数据的小程序。

为了完成本关任务,你需要掌握:

  1. PyPDF2
  2. PdfFileReader
  3. PdfFileWriter
  4. 例子。

曾经有一次案件,当时黑客组织发布了 ANONOPS_The_Press_Release 这份稿件,希腊警方在稿件的元信息中发现了作者 Alex Tapanaris 的名字,然后以此为证据将其逮捕,也就是所谓的电子取证。基本思路是,调用 Python 中的 PyPDF2 模块的 get

;