国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小白也可以輕松破解被加密的ZIP口令啦

這篇具有很好參考價(jià)值的文章主要介紹了小白也可以輕松破解被加密的ZIP口令啦。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

零基礎(chǔ)學(xué)黑客,搜索公眾號(hào):白帽子左一

作者:掌控安全—暗箭

不管是剛剛接觸python,還是沒(méi)有接觸過(guò)python的同學(xué),

在瀏覽本篇文章時(shí)應(yīng)該都不會(huì)感覺(jué)到費(fèi)力。(python2.7.6版本以上)

我會(huì)盡量詳細(xì)直白的進(jìn)行講解,使得即使是一個(gè)沒(méi)有python編碼基礎(chǔ)的小白,在閱讀完本篇文章后,大腦中也會(huì)產(chǎn)生如何去構(gòu)建一個(gè)腳本的思路。

希望這篇文章能夠提升你們對(duì)python的興趣,

了解python構(gòu)建腳本時(shí)的基本思維,并且感受一下python語(yǔ)言的魅力所在吧。

你將難以想象,通過(guò)Python僅僅需要幾十行的代碼和一本好用的字典就能夠輕松破解被加密的壓縮包文件。

言歸正傳,我們來(lái)看一下我們是如何一步步構(gòu)建腳本框架,修改完善腳本,并最終實(shí)現(xiàn)口令破解的吧?。。?/p>

開(kāi)始

我們先創(chuàng)建一個(gè)文件,將其命名為“zip1.py”,打開(kāi)文件后便開(kāi)始了我們的編程之旅。

在此之前,由于是在實(shí)驗(yàn)環(huán)境,所以我們還需要?jiǎng)?chuàng)建一個(gè)含有口令的壓縮包:密碼設(shè)置為123456 并將其命名為”a.zip”

小白也可以輕松破解被加密的ZIP口令啦

我們?cè)趪L試讀取其中文件時(shí),便會(huì)要求我們輸入響應(yīng)的口令:

小白也可以輕松破解被加密的ZIP口令啦

下面我們就要了解,是什么原理讓腳本運(yùn)行起來(lái)時(shí)能夠?qū)崿F(xiàn)密碼的破解呢?

我們打開(kāi)剛剛創(chuàng)建的“zip1.py”,然后再里面輸入以下代碼:

import zipfile
zFile = zipfile.ZipFile("a.zip")
zFile.extractall(pwd="123456")

我們首先在第一行調(diào)用了python中的zipfile庫(kù)。

zipfile庫(kù)簡(jiǎn)單來(lái)說(shuō)可以讓我們實(shí)例化壓縮文件,并且提供將其破解的函數(shù)。

導(dǎo)入庫(kù)后,用帶有口令保護(hù)的zip文件的文件名,實(shí)例化一個(gè)新的ZipFile類(lèi)。

要解壓這個(gè)ZIP文件 我們需要用的zipfile庫(kù)中的“extractall()”函數(shù)

pwd就是壓縮包的密碼

來(lái)運(yùn)行一下腳本,我們發(fā)現(xiàn)腳本會(huì)將破解后的文件解壓,并且存放在我們的根目錄下。

小白也可以輕松破解被加密的ZIP口令啦

現(xiàn)在我們已經(jīng)了解了破解流程,接下來(lái)就可以打造屬于我們自己的工具了!

我們?cè)谄平獾臅r(shí)候當(dāng)然不可能逐一去輸入賬號(hào)密碼,這樣太費(fèi)勁了!

所以我們需要擁有一本屬于自己zip爆破字典(1.txt)

有了字典之后,我們將字典中的密碼遍歷到password變量中并對(duì)之前的代碼進(jìn)行一下修改:

#coding=utf-8
import zipfile

zFile = zipfile.ZipFile("a.zip") #破解的目標(biāo)ZIP文件
passFile=open("1.txt") #這是我們的字典

for line in passFile:
 password=line.strip("\n")
 zFile.extractall(pwd=password)

然后嘗試運(yùn)行一下這個(gè)腳本:我們發(fā)現(xiàn)報(bào)錯(cuò)了!

我們的字典內(nèi)容如下:其中包含我們的正確口令。

我們?cè)賮?lái)看一下報(bào)錯(cuò)信息。

 admin
 qweqasd
 123456
 akjshdkj
 9999999

我們都過(guò)檢查報(bào)錯(cuò)信息的末端發(fā)現(xiàn),這是由于口令錯(cuò)誤引起的,進(jìn)而繼續(xù)追蹤相關(guān)函數(shù),發(fā)現(xiàn)正是extractall()出現(xiàn)錯(cuò)誤引起的。

函數(shù)一旦出錯(cuò)便不會(huì)跳過(guò)錯(cuò)誤繼續(xù)向下遍歷密碼,那么我們就要使用try-except代碼塊來(lái)避免程序崩潰!

小白也可以輕松破解被加密的ZIP口令啦

改進(jìn)后的代碼如下:

#coding=utf-8
import zipfile

zFile = zipfile.ZipFile("a.zip") #破解的目標(biāo)ZIP文件
passFile=open("1.txt") #這是我們的字典

for line in passFile:
 password=line.strip("\n")
 try:
 zFile.extractall(pwd=password)
 print password
 except Exception,e:
 pass

try:嘗試執(zhí)行extractall()函數(shù)破解,執(zhí)行成功則輸出正確ZIP密碼,若執(zhí)行失敗則進(jìn)入except板塊Pass掉這個(gè)異常!

這樣就不會(huì)出現(xiàn)因?yàn)槠平馐《鴮?dǎo)致的程序崩潰了

我們?cè)賮?lái)執(zhí)行發(fā)現(xiàn),腳本能夠正常遍歷字典中所有密碼,并且輸出!

我們?cè)賮?lái)執(zhí)行發(fā)現(xiàn),腳本能夠正常遍歷字典中所有密碼,并且輸出!

小白也可以輕松破解被加密的ZIP口令啦

但是我們需要的是函數(shù)模塊化的腳本,而非線性執(zhí)行的程序

我們不得不讓我們的腳本更靈活,更具有可塑性!

下面我們來(lái)清理一下代碼:

1.我們將定義一個(gè)函數(shù)extractFile(),使這個(gè)函數(shù)具有帶入字典密碼并破解口令的功能。

2.我們?cè)俣x一個(gè)函數(shù)main(),使其能夠?qū)嵗痁IP文件,遍歷字典內(nèi)容,并執(zhí)行extractFile()函數(shù)的功能!

模塊化的代碼如下:

#coding=utf-8
import zipfile #導(dǎo)入zipfile庫(kù)
def extractFile(zFile,password): #定義一個(gè)函數(shù),形參為破解目標(biāo)文件名,密碼
try: #避免程序崩潰
zFile.extractall(pwd=password)
return password #返回密碼
except:
pass
def main():
zFile=zipfile.ZipFile('a.zip') #實(shí)例化一個(gè)類(lèi)ZipFile
passFile=open("1.txt") #打開(kāi)字典文件
for line in passFile.readlines(): #For遍歷字典內(nèi)容
password=line.strip("\n") #取出空格 上下間隙
guess = extractFile(zFile, password) #將函數(shù)放入一個(gè)變量
if guess: #如果破解成功則返回出密碼 并且退出
print "[*]密碼是: " + password +"\n"
exit(0)
if __name__ == '__main__': #如果執(zhí)行的是當(dāng)前腳本 則執(zhí)行函數(shù)main()
main()
這里要重點(diǎn)介紹一下if __name__ == ‘__main__‘: 這個(gè)條件的意思。

3.當(dāng).py文件被直接運(yùn)行時(shí),if name ==’main‘之下的代碼塊將被運(yùn)行;當(dāng).py文件以模塊形式被導(dǎo)入時(shí),if name == ‘main‘之下的代碼塊不被運(yùn)行。

4.因?yàn)楫?dāng)前腳本運(yùn)行時(shí) name =main

5.如果是在abc.py腳本中被導(dǎo)入的話 像是import zip1

6.這樣的話__main__ =zip1 而不是main了 所以就會(huì)和__main__不匹配

7.從而不會(huì)執(zhí)行該函數(shù)

現(xiàn)在我們離成功就差最后一步了!
1.我們接下來(lái)我們要設(shè)置可選參數(shù),這樣我們就可以按照我們的要求,去使用我們想用的字典,破解我們想破解的文件。

2.并且我們還要為此添加多線程的功能,這樣在面臨龐大的字典時(shí) 也能快速的對(duì)目標(biāo)文件進(jìn)行多線程破解!

終極版代碼如下:

#coding=utf-8
import zipfile
import optparse #optparse用于設(shè)置可選參數(shù),并進(jìn)行參數(shù)的解釋
from threading import Thread #從threading庫(kù)導(dǎo)入Thread類(lèi) 主要功能是設(shè)置多線程

def extractFile(zFile,password):
 try:
 zFile.extractall(pwd=password) #python3中pwd需要的是byte
 print ('[+] Fonud Password : ' + password + '\n')
 except:
 pass

def main():

 parser = optparse.OptionParser("[*] Usage: ./unzip.py -f <zipfile> -d <dictionary>") #設(shè)置參數(shù)解釋

 parser.add_option('-f',dest='zname',type='string',help='specify zip file') #設(shè)置參數(shù) 可輸入讀取目標(biāo)文件

 parser.add_option('-d',dest='dname',type='string',help='specify dictionary file') #設(shè)置字典參數(shù)

 (options,args) = parser.parse_args() #options可以理解為sys.argv[1:] 比如(-f xxx.zip -d x.txt)

 if (options.zname == None) | (options.dname == None): #確認(rèn)參數(shù)是否存在
 print (parser.usage) #輸出我們前面設(shè)置的解釋
 exit(0)

 zFile = zipfile.ZipFile(options.zname) #確定破解目標(biāo)對(duì)象
 passFile = open(options.dname) #打開(kāi)我們需要的字典
 for line in passFile: #遍歷字典內(nèi)容
 line = line.strip('\n')
 t = Thread(target=extractFile,args=(zFile,line)) #設(shè)置多線程 target可理解為等于一個(gè)方法(自定義函數(shù)),args可理解為我們向函數(shù)中傳的參數(shù) 這里就是像extractall()中傳入破解ZIP文件和遍歷的字典密碼
 t.start() #開(kāi)啟線程

if __name__ == '__main__': #如果在當(dāng)前腳本執(zhí)行 那么為真
 main()

激動(dòng)人心的時(shí)刻到了!
我們將腳本執(zhí)行一下看一下效果:

小白也可以輕松破解被加密的ZIP口令啦

破解成功?。。⊥杲Y(jié)撒花★,°:.☆( ̄▽?zhuān)?/$:.°★ 。
這里腳本中使用的是optparse庫(kù)來(lái)設(shè)置的參數(shù)和參數(shù)解釋

因?yàn)檫@會(huì)讓代碼比較簡(jiǎn)潔并且容易理解。

大家可以嘗試使用getopt庫(kù)來(lái)重新定義一下,那樣子雖然有些麻煩,但是對(duì)于剛剛接觸python的同學(xué)會(huì)更容易理解。

學(xué)習(xí)完本篇章后大家就再也不用擔(dān)心別人給ZIP文件加密啦~
建議大家配合crunch字典生成工具使用,將會(huì)事半功倍?。?!

源碼鏈接:https://pan.baidu.com/s/1-UjEnVFbqZuAquScz8zlrw
提取碼:zkaq

聲明:本號(hào)所分享內(nèi)容僅用于網(wǎng)安愛(ài)好者之間的技術(shù)討論,禁止用于違法途徑,所有滲透都需獲取授權(quán)!否則需自行承擔(dān),本號(hào)及原作者不承擔(dān)相應(yīng)的后果.

小白也可以輕松破解被加密的ZIP口令啦
小白也可以輕松破解被加密的ZIP口令啦文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-439910.html

到了這里,關(guān)于小白也可以輕松破解被加密的ZIP口令啦的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 多個(gè)JDK版本可以嗎:JDK17、JDK19、JDK1.8輕松切換(無(wú)坑版)小白也可以看懂

    多個(gè)JDK版本可以嗎:JDK17、JDK19、JDK1.8輕松切換(無(wú)坑版)小白也可以看懂

    多個(gè)JDK:JDK17、JDK19、JDK1.8輕松切換(無(wú)坑版)小白也可以看懂 提示:看了網(wǎng)上很多教程,5w觀看、32w觀看、幾千觀看的,多多少少帶點(diǎn)坑,這里我就把踩過(guò)的坑都給抹了 提示:已知 JDK1.8 和 JDK17,是長(zhǎng)期 且免費(fèi)版本 jdk17下載 :https://www.oracle.com/java/technologies/downloads/#jdk17-wi

    2024年02月02日
    瀏覽(30)
  • 【小白必看】網(wǎng)絡(luò)安全(黑客)0基礎(chǔ)學(xué)習(xí)筆記

    【小白必看】網(wǎng)絡(luò)安全(黑客)0基礎(chǔ)學(xué)習(xí)筆記

    目錄 一、自學(xué)網(wǎng)絡(luò)安全學(xué)習(xí)的誤區(qū)和陷阱 二、學(xué)習(xí)網(wǎng)絡(luò)安全的一些前期準(zhǔn)備 三、網(wǎng)絡(luò)安全學(xué)習(xí)路線 四、學(xué)習(xí)資料的推薦 想自學(xué)網(wǎng)絡(luò)安全(黑客技術(shù))首先你得了解什么是網(wǎng)絡(luò)安全!什么是黑客! 網(wǎng)絡(luò)安全可以基于攻擊和防御視角來(lái)分類(lèi),我們經(jīng)常聽(tīng)到的 “紅隊(duì)”、“滲透

    2024年02月07日
    瀏覽(27)
  • 零基礎(chǔ)小白如何自學(xué)網(wǎng)絡(luò)安全成為頂尖黑客?

    零基礎(chǔ)小白如何自學(xué)網(wǎng)絡(luò)安全成為頂尖黑客?

    在成為黑客之前,你需要做兩點(diǎn)準(zhǔn)備: 1、學(xué)一門(mén)編程語(yǔ)言。學(xué)哪一門(mén)不重要,但你要參考一下下面的條例: C語(yǔ)言是Unix系統(tǒng)的基礎(chǔ)。它(連同匯編語(yǔ)言)能讓你學(xué)習(xí)對(duì)黑客非常重要的知識(shí):內(nèi)存的工作原理。 Python或Ruby是高級(jí)而強(qiáng)大的腳本語(yǔ)言 ,能夠?qū)崿F(xiàn)多項(xiàng)任務(wù)的自動(dòng)化

    2023年04月11日
    瀏覽(19)
  • 弱口令介紹及破解方式

    弱口令介紹及破解方式

    僅包含簡(jiǎn)單數(shù)字和字母的口令,例如“123”、“abc”等,因?yàn)檫@樣的口令很容易被別人破解,從而使用戶(hù)的計(jì)算機(jī)面臨風(fēng)險(xiǎn),因此不推薦用戶(hù)使用。 1、連續(xù)字符串(如aaaa,abc等) 2、數(shù)字 數(shù)字通常會(huì)包含個(gè)人信息,如生日、身份證號(hào)的某幾位。 3、字符串+數(shù)字;數(shù)字+字符串

    2023年04月13日
    瀏覽(19)
  • 弱口令與暴力破解

    弱口令與暴力破解

    弱口令( weak password ) 沒(méi)有嚴(yán)格和準(zhǔn)確的定義,通常認(rèn)為容易被別人(他們有可能對(duì)你很了解)猜測(cè)到或被破解工具破解的口令均為弱口令。弱口令指的是僅包含簡(jiǎn)單數(shù)字和字母的口令。 公共弱口令就是常見(jiàn)的密碼,也就是根據(jù)大量的密碼數(shù)據(jù)統(tǒng)計(jì)得出的出現(xiàn)頻率較高的弱口令

    2023年04月12日
    瀏覽(21)
  • 口令暴力破解--Telnet協(xié)議暴力破解、數(shù)據(jù)庫(kù)暴力破解與遠(yuǎn)程桌面暴力破解

    口令暴力破解--Telnet協(xié)議暴力破解、數(shù)據(jù)庫(kù)暴力破解與遠(yuǎn)程桌面暴力破解

    Telnet ?????? Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶(hù)提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。要開(kāi)始一個(gè)telnet會(huì)話,必須輸入用戶(hù)名和密碼來(lái)登錄服務(wù)器。而一般服務(wù)器不會(huì)對(duì)用戶(hù)名和密碼的登錄嘗試做限制,因此

    2023年04月19日
    瀏覽(30)
  • web后臺(tái)登錄口令暴力破解及防御

    web后臺(tái)登錄口令暴力破解及防御

    在實(shí)際網(wǎng)絡(luò)安全評(píng)估測(cè)試中,前臺(tái)是給用戶(hù)使用,后臺(tái)是給網(wǎng)站管理維護(hù)人員使用,前臺(tái)功能相對(duì)簡(jiǎn)單,后臺(tái)功能相對(duì)復(fù)雜,可能保護(hù)媒體文件上傳,數(shù)據(jù)庫(kù)管理等。前臺(tái)用戶(hù)可以自由注冊(cè),而后臺(tái)是網(wǎng)站管理或者維護(hù)人員設(shè)定,滲透中如果能夠拿到后臺(tái)管理員帳號(hào)及密碼,

    2024年02月02日
    瀏覽(22)
  • 四招帶您破解用友T3軟件SA口令問(wèn)題

    四招帶您破解用友T3軟件SA口令問(wèn)題

    “ 小陳就職于一家貿(mào)易公司,公司目前用的是T3財(cái)務(wù)軟件,因?yàn)楣镜馁~比較簡(jiǎn)單,所以基本上能滿足要求。月底的一天早上,小陳跟往常一樣來(lái)到公司,打開(kāi)電腦,準(zhǔn)備對(duì)這個(gè)月的賬做最后的檢查,然后就可以扎帳了。可是,偏偏在這個(gè)節(jié)骨眼上,電腦里蹦出了這樣一個(gè)提

    2024年02月07日
    瀏覽(16)
  • Kali系統(tǒng)MSF模塊暴力破解MySQL弱口令漏洞

    Kali系統(tǒng)MSF模塊暴力破解MySQL弱口令漏洞

    攻擊環(huán)境使用KALI系統(tǒng)(使用虛擬機(jī)搭建)的Metasploit模塊,msfconsole是metasploit中的一個(gè)工具,它集成了很多漏洞的利用的腳本,并且使用起來(lái)很簡(jiǎn)單的網(wǎng)絡(luò)安全工具。 這里要特別強(qiáng)調(diào):被攻擊的環(huán)境必須開(kāi)啟mysql遠(yuǎn)程登陸服務(wù),通常MySQL開(kāi)啟的端口號(hào)是3306,故而一般情況下要求

    2023年04月10日
    瀏覽(26)
  • python期末大作業(yè)之圖書(shū)管理系統(tǒng)(超級(jí)基礎(chǔ)版,小白輕松上手)

    python期末大作業(yè)之圖書(shū)管理系統(tǒng)(超級(jí)基礎(chǔ)版,小白輕松上手)

    ? 以上就是今天的學(xué)習(xí)內(nèi)容啦~ 咱們下期再見(jiàn)老鐵~? 需要定制python大作業(yè)可以加一下我QQ2597170348或者微信15060269323?。?感覺(jué)還不錯(cuò)的話請(qǐng)一鍵三連,謝謝!!

    2024年02月04日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包