English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Premessa
Grazie al modulo zipfile integrato in Python, è possibile decomprimere file zip e aggiungere ingredienti per completare la decrittazione delle password
Il modulo zipfile viene utilizzato per la compressione e decompressione di file in formato zip, all'interno di zipfile ci sono due classi molto importanti, rispettivamente ZipFile e ZipInfo, in quasi tutti i casi, è sufficiente utilizzare queste due classi. ZipFile è la classe principale, utilizzata per creare e leggere file zip mentre ZipInfo memorizza le informazioni di ciascun file del file zip.
Ad esempio, per leggere un modulo zipfile Python, qui supponiamo che filename sia il percorso di un file:
import zipfile z = zipfile.ZipFile(filename, 'r') for i in z.infolist(): print i.file_size, i.header_offset
Qui viene utilizzato z.infolist(), che restituisce tutte le informazioni sui file nel pacchetto compresso, ossia una lista di ZipInfo. Un oggetto ZipInfo contiene le informazioni su un file nel pacchetto compresso, tra cui i più comuni sono filename, file_size, header_offset, rispettivamente il nome del file, la dimensione del file, l'offset dei dati del file nel pacchetto compresso.
Fase di preparazione
Prima di tutto, hai bisogno di un file compresso e di aggiungere una password a esso, ha questo aspetto
Poi hai avuto successo nel ottenere un file compresso con password predefinita, bene, è finita qui
Attacco a forza bruta
Prima di tutto, dobbiamo sapere cos'è l'attacco a forza bruta, in parole semplici, è confrontare in modo iterativo, tutti sanno dell'hash MD5, MD5 è reversibile, quindi come possono fare i siti di decrittazione MD5 online? In realtà, è anche un attacco a forza bruta.
Facciamo un esempio, hai criptato una stringa con MD5, str="abc", il risultato della criptazione è "3cd24fb0d6963f7d", un lungo stringa che gli altri non capiscono, come fanno i siti di decrittazione MD5? Invece di fare qualcosa di utile, si mettono a provare a criptare aa/cc/bb/abc e così via con MD5, li memorizzano nel loro database, quando cerchi, loro confrontano "3cd24fb0d6963f7d" nel database, se c'è una coincidenza, troverai, ma nella maggior parte dei casi, se la tua stringa criptata è più complessa, non troverai nulla, questo è ciò che si chiama decrittazione MD5, ossia attacco a forza bruta
Il codice sopra
import zipfile #Importa il modulo, è usato per la compressione e la decompressione password="123" #Password impostata zfile = zipfile.ZipFile("test.zip") #Pacchetto compresso da estrarre zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8')) #Esegui l'operazione di estrazione
Eseguiamo il codice sopra (ovviamente la tua password deve essere 123), scopriremo che sul desktop è già stato estratto test.zip, un ending perfetto, ma c'è ancora un attacco a forza bruta, se sai la password, cos'altro c'è da rompere? Non preoccuparti, continua a leggere
import zipfile zfile = zipfile.ZipFile("test.zip") passFile=open('pwd.txt') # Leggi il file di password che hai impostato for line in passFile.readlines(): try: password = line.strip('\n') zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8')) break except: print("Di nuovo sbagliato")
Il contenuto di pwd.txt è il seguente
1223 abc aaa 123
Bene, questo ha completato la forza bruta della password del file zip, in realtà è solo un uso molto astuto del meccanismo di eccezione try except, quando il decompressione è normale, la password è normale, il decompressione fallisce e viene segnalata un'eccezione, prova a fare un tentativo
Sommario
Questo è tutto il contenuto dell'articolo, speriamo che il contenuto di questo articolo abbia un valore di riferimento per la tua apprendimento o lavoro. Se hai domande, puoi lasciare un messaggio per scambiare opinioni, grazie per il supporto di呐喊教程.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta agli autori originali, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (sostituisci # con @ durante l'invio dell'e-mail) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.