零基础学黑客,搜索公众号:白帽子左一
作者:掌控安全—暗箭
不管是刚刚接触python,还是没有接触过python的同学,
在浏览本篇文章时应该都不会感觉到费力。(python2.7.6版本以上)
我会尽量详细直白的进行讲解,使得即使是一个没有python编码基础的小白,在阅读完本篇文章后,大脑中也会产生如何去构建一个脚本的思路。
希望这篇文章能够提升你们对python的兴趣,
了解python构建脚本时的基本思维,并且感受一下python语言的魅力所在吧。
你将难以想象,通过Python仅仅需要几十行的代码和一本好用的字典就能够轻松破解被加密的压缩包文件。
言归正传,我们来看一下我们是如何一步步构建脚本框架,修改完善脚本,并最终实现口令破解的吧!!!
开始
我们先创建一个文件,将其命名为“zip1.py”,打开文件后便开始了我们的编程之旅。
在此之前,由于是在实验环境,所以我们还需要创建一个含有口令的压缩包:密码设置为123456 并将其命名为”a.zip”
我们在尝试读取其中文件时,便会要求我们输入响应的口令:
下面我们就要了解,是什么原理让脚本运行起来时能够实现密码的破解呢?
我们打开刚刚创建的“zip1.py”,然后再里面输入以下代码:
import zipfile
zFile = zipfile.ZipFile("a.zip")
zFile.extractall(pwd="123456")
我们首先在第一行调用了python中的zipfile库。
zipfile库简单来说可以让我们实例化压缩文件,并且提供将其破解的函数。
导入库后,用带有口令保护的zip文件的文件名,实例化一个新的ZipFile类。
要解压这个ZIP文件 我们需要用的zipfile库中的“extractall()”函数
pwd就是压缩包的密码
来运行一下脚本,我们发现脚本会将破解后的文件解压,并且存放在我们的根目录下。
现在我们已经了解了破解流程,接下来就可以打造属于我们自己的工具了!
我们在破解的时候当然不可能逐一去输入账号密码,这样太费劲了!
所以我们需要拥有一本属于自己zip爆破字典(1.txt)
有了字典之后,我们将字典中的密码遍历到password变量中并对之前的代码进行一下修改:
#coding=utf-8
import zipfile
zFile = zipfile.ZipFile("a.zip") #破解的目标ZIP文件
passFile=open("1.txt") #这是我们的字典
for line in passFile:
password=line.strip("\n")
zFile.extractall(pwd=password