Python武器库开发-武器库篇之zip文件暴力破解(五十一)

news2024/11/15 13:26:21

Python武器库开发-武器库篇之zip文件暴力破解(五十一)

Zip文件是一种常用的存档文件格式,用于将多个文件和文件夹压缩成一个单独的文件。它是一种广泛接受和支持的文件格式,几乎所有操作系统和计算机都能够处理Zip文件。Zip文件使用一种压缩算法来减小文件的大小,从而节省存储空间和网络带宽。它可以包含任意类型的文件,包括文本文件、图像文件、音频文件、视频文件等。Zip文件还可以包含文件夹,用于将多个相关文件组织在一起。压缩后的Zip文件可以通过解压缩软件解压,将其中的文件恢复到原始的文件夹结构中。Zip文件还支持密码保护,可以通过设置密码来保护文件的安全性。这对于存储敏感数据或需要限制访问的文件非常有用。总之,Zip文件是一种方便、常用的存档文件格式,用于将多个文件和文件夹压缩成一个单独的文件,节省存储空间和带宽,并保护文件的安全性。

我们在做渗透测试的过程中,有时会得到目标的一些加密的信息文件,比如 .zip,.pdf 等文件,这时我们常常会对这些目标文件进行暴力破解,以此来得到相关的文件信息,那么本篇文章就将教会大家如何使用python暴力破解zip文件。本文中所用到的工具文件可有此链接下载:链接:https://pan.baidu.com/s/1wyaX4O8r451r-IhXdLpAZw?pwd=8888 提取码:8888。

使用python暴力破解zip文件的代码如下:

#!/usr/bin/env python

#导入模块
from tqdm import tqdm
import zipfile
import pyzipper

#密码文件和需要破解的zip文件名称设置
passwordfile = "PasswordFile.txt"
zip_file = "ppkke.zip"

n_words = len(list(open(passwordfile, "rb")))
print("当前文件中密码一共有: {}个".format(n_words))


with open(passwordfile, "rb") as wordlist:
    for word in tqdm(wordlist, total=n_words, unit="word"):
        pwd = str(word, 'utf-8').replace('\n', '')

        try:
            with pyzipper.AESZipFile(zip_file, 'r', compression=pyzipper.ZIP_DEFLATED, encryption=pyzipper.WZ_AES) as extracted_zip:
                extracted_zip.extractall(pwd=str.encode(pwd))
        except:
            continue
        else:
            print("[+] 成功找到密码:", word.decode().strip())
            exit(0)

print("[!] 密码未找到,请尝试其他密码")

这段代码是用于破解一个被密码保护的zip文件。首先,通过from tqdm import tqdm导入了tqdm模块用于显示进度条。然后导入了zipfilepyzipper模块。

代码使用了一个密码文件并设置了需要破解的zip文件的名称。然后通过len(list(open(passwordfile, "rb")))来获取密码文件中密码的数量,并打印出来。

接下来,使用with open(passwordfile, "rb") as wordlist:打开密码文件,通过for word in tqdm(wordlist, total=n_words, unit="word"):循环遍历密码文件中的每个密码。在每次循环中,将密码转换为字符串,并将换行符替换为空字符串。

然后,在一个try块中,使用pyzipper.AESZipFile打开被破解的zip文件,使用密码进行解压缩操作。如果解压缩成功,则打印出找到的密码,并退出程序。如果解压缩失败,继续下一次循环。

最后,如果循环结束仍没有找到正确的密码,则打印出密码未找到的提示信息。

实验结果如图所示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1429653.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

状态流支持的状态和转换操作类型

状态操作类型 States 可以有不同的操作类型,包含了entry, during, exit, bind, and, on event_name 操作。状态的操作使用以下通用格式的标签表示法分配给操作类型: name/ entry:进入操作 during:在操作期间 exit:退出操作 bind:数据名, 事件名 on even…

使用wda框架实现IOS自动化测试详解

目录 1、weditor元素定位工具 1.1、weditor的安装和使用 2、wda iOS自动化框架 2.1、wda概述 2.2、wda安装 2.3、wda的使用 2.3.1、全局配置 2.3.2、创建客户端 2.3.3、APP相关操作 1、启动APP 2、关闭APP 3、获取APP状态信息 4、获取当前APP的运行信息 2.3.4、设…

Java自救手册

目录 访问地址 访问地址,发现不通,无法访问: 网络不通一般有两种情况: Maven 拿Maven 拿到Maven以后 Maven单独的报红 Git git注意: 目录 访问地址 访问地址,发现不通,无法访问&…

Python中with管理上下文

上下文管理器 上下文管理器本质就是能够支持with操作。 任何实现了 __enter__() 和 __exit__() 方法的对象都可称之为上下文管理器,上下文管理器对象可以使用 with 关键字。显然,文件(file)对象也实现了上下文管理器协议。 实现…

Canal 结合 SpringBoot 源码梳理

1、canal是什么,可以用来作什么 canal是阿里开源的一个用于监听数据库binlog,从而实现数据同步的工具。 2、安装 我使用的是1.1.5版本,太高的版本需要的jdk版本和mysql的驱动版本会更高,可以根据自己的环境选择。 如果是自己玩的话…

24.云原生之ArgoCD钩子

云原生专栏大纲 文章目录 Argo CD钩子如何定义钩子钩子删除策略 Argo CD钩子 Argo CD 是一个用于部署和管理 Kubernetes 应用程序的工具,它提供了一种声明式的方式来定义和自动化应用程序的部署过程。Argo CD 钩子(Hooks)是一种机制&#x…

MySQL-- if()函数 简单明了

if 主要有:IF函数嵌套和IF聚合函数 两类,主要是用来根据条件返回不同值。 基本语法为; IF(条件表达式,值1,值2)如果条件表达式为True,返回值1,为False,返回值2.返回值可以是任何值,比如:数值,…

消息中间件之RocketMQ源码分析(五)

消费进度保存机制 消费者启动时会同时启动位点管理器,RocketMQ设计了远程位点管理和本地位点管理 两种位点管理方式. 集群消费时,位点由客户端提交给Broker保存. 广播消费时,位点保存在消费者本地磁盘上 OffsetStore接口核心方法 void load(…

重写Sylar基于协程的服务器(4、协程调度模块的设计)

重写Sylar基于协程的服务器(4、协程调度模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、日…

智慧文旅:驱动文化与旅游融合发展的新动力

随着科技的快速发展和人们生活水平的提高,文化和旅游的融合成为了时代发展的必然趋势。智慧文旅作为这一趋势的引领者,通过先进的信息技术手段,推动文化与旅游的深度融合,为产业的发展注入新的活力。本文将深入探讨智慧文旅如何成…

被人疯狂吐槽的预制菜,居然是资本看重的“万亿级”市场?

被人疯狂吐槽的预制菜,居然是资本看重的“万亿级”市场? 文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 大家是不是以为只有被天天吐槽难吃的外卖和小饭店,才会用预制菜,…

【LeetCode】17. 电话号码的字母组合(中等)——代码随想录算法训练营Day25

题目链接:17. 电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1&#xff…

基于springboot校园二手书交易管理系统源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括乐校园二手书交易管理系统的网络应用,在外国二手书交易管理系统已经是很普遍的方式,不过国内的管理系统可能还处于起步阶段。乐校园二手书交易管理系统…

dubbo+sentinel最简集成实例

说明 在集成seata后,下面来集成sentinel进行服务链路追踪管理~ 背景 sample-front网关服务已配置好 集成 一、启动sentinel.jar 1、官网下载 选择1:在本地启动 nohup java -Dserver.port8082 -Dcsp.sentinel.dashboard.serverlocalhost:8082 -Dp…

【C语言】数组的应用:扫雷游戏(包含扩展和标记功能)附完整源代码

这个代码还是比较长的,为了增加可读性,我们还是把他的功能分装到了test.c,game.c,game.h里面。 扫雷游戏的规则相信大家来阅读本文之前已经知晓了,如果点到雷就输了,如果不是雷,点到的格子会显…

Kotlin快速入门系列8

Kotlin的泛型 与Java一样,Kotlin也提供泛型。泛型,即 "参数化类型",将类型参数化,可以用在类,接口,方法上。可以为类型安全提供保证,消除类型强转的烦恼。声明泛型类的格式如下&…

关于反爬虫的的概述

目录 前言 一、验证码验证 二、IP限制 三、User-Agent限制 四、动态页面加载 总结 前言 反爬虫是一种防止网站被自动程序(爬虫)访问和抓取数据的技术手段。在网络爬虫的发展和使用过程中,有一部分爬虫是用于非法获取网站数据、侵犯隐私…

重写Sylar基于协程的服务器(5、IO协程调度模块的设计)

重写Sylar基于协程的服务器(5、IO协程调度模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、…

【C/C++ 10】扫雷小游戏

一、题目 写一个扫雷小游戏,每次输入一个坐标,若该处是地雷,则游戏失败,若该处不是地雷,则显示周围地雷数量,若扫除全部非地雷区域,则扫雷成功。 二、算法 设置两张地图(二维数组&…

校园墙表白墙系统uniapp微信小程序

配置文件 (自动编号、配置参数名称、配置参数值); 前端开发:vue 语言:javapythonnodejsphp均支持 运行软件:idea/eclipse/vscode/pycharm/wamp均支持 框架支持:Ssm/django/flask/thinkphp/springboot/springcloud均支持 数据库 mysql 数据库工具&#x…