python zip檔案密碼爆破

2022-09-06 02:24:07 字數 2131 閱讀 8065

#

!/usr/bin/env

#coding=utf-8

import

zipfile

import

threading

import

osimport

sysclass

crackzip:

def__init__

(self):

self._result =none

defrun(self,zfile,password):

try:

zfile.extractall(pwd=password)

print("

found passwd:

",password)

print('

password=

',password)

self._result=password

except

:

pass

defgetpass(self):

return

self._result

defcheckfile(path):

flag=false

ifnot

os.path.isfile(path):

flag=false

print('

[-] %s檔案不存在

',path)

return

flag

defmain():

cz=crackzip()

if len(sys.ar**)>=3:

zippath=sys.ar**[1]

dictionarypath=sys.ar**[2]

flag=(len(sys.ar**)>3 and sys.ar**[3]=='-t'

) typename=none

ifnot

checkfile(dictionarypath):

if dictionarypath[-3:]!='

txt'

:

print('

字典不是txt檔案')

return

ifnot

checkfile(zippath):

if zippath[-3:]!='

zip'

:

print('

只能爆破zip檔案')

return

zfile=zipfile.zipfile('

test.zip

','r')

passfile=open(dictionarypath,'r'

)

for line in

passfile.readlines():

password=line.strip('

\n').encode('

utf-8')

ifflag:

false

t=threading.thread(target=cz.run,args=(zfile,password))

t.start()

else

: cz.run(zfile,password)

password=cz.getpass()

typename='

singlethread'if

password:

return

if typename=='

singlethread':

print("

字典裡找不到密碼")

else

:

print('

命令不正確,格式為:python zip.py zippath dictionarypath')

return

if__name__=='

__main__':

main()

遇到了以下問題:

1. 字典裡獲取出來的字元需要編碼(utf-8)才能被extractall識別  

2. 開啟執行緒爆破後如何檢測所有執行緒執行完畢?(提示爆破失敗)

密碼爆破 medusa

方法 medusa h host h file u username u file p password p file c file m module opt 引數簡介 h text 目標主機名稱或者ip位址 h file 包含目標主機名稱或者ip位址檔案 u text 測試的使用者名稱 u fil...

burpsuite弱密碼爆破

利用burpsuite的intruder 模組進行弱密碼的破解 posirtions模組 positions 選擇攻擊模式 sniper 對變數依次進行暴力破解 battering ram 對變數同時進行破解 pitchfork 沒乙個變數標記對應乙個字典,一一對應進行破解 cluster bomb...

python zip檔案壓縮 python

python自帶了zipfile,貌似支援zip64,看幫助文件裡好像有個選項 今天我的工作只是備份,所以只是建立zip檔,其他就不關心了 usr bin env python coding gbk python at live.it import os import sys import geto...