English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Detaillierte Erklärung zur Brute-Force-Attacke auf Zip-Passwörter mit Python

Einleitung

Durch das Python-interne Modul zipfile wird die Entpackung von ZIP-Dateien realisiert, und durch das Hinzufügen von Materialien wird das Passwortgeheimnis gelöst.

Das Modul zipfile wird zur Komprimierung und Dekomprimierung von ZIP-Dateien verwendet. In zipfile gibt es zwei sehr wichtige Klassen, nämlich ZipFile und ZipInfo. In den meisten Fällen ist es ausreichend, diese beiden Klassen zu verwenden. ZipFile ist die Hauptklasse und wird verwendet, um ZIP-Dateien zu erstellen und zu lesen, während ZipInfo die Informationen jeder Datei in der gespeicherten ZIP-Datei speichert.

Zum Beispiel, um einen Python zipfile Modul zu lesen, hier wird angenommen, dass filename der Pfad zu einer Datei ist:

import zipfile 
z = zipfile.ZipFile(filename, 'r') 
for i in z.infolist(): 
print i.file_size, i.header_offset 

Hier wird z.infolist() verwendet, es gibt die Informationen aller Dateien im Zip-Archiv zurück, das ist eine Liste von ZipInfo. Ein ZipInfo-Objekt enthält Informationen über eine Datei im Zip-Archiv, von denen die am häufigsten verwendeten sind filename, file_size, header_offset, was Dateiname, Dateigröße, Offset der Dateidaten im Zip-Archiv bedeutet.

Vorbereitungsphase

Zunächst müssen Sie eine Zip-Datei haben und ein Passwort hinzufügen, sie sieht so aus


Dann haben Sie erfolgreich einen Zip-Datei mit Passwort erhalten, gut, das ist beendet

Gewaltent压缩

Zunächst müssen wir wissen, was Gewaltent压缩 ist, um ehrlich zu sein, ist es einfach und brutal, indem wir auf eine Art und Weise vergleichen, die wir alle sicherlich wissen, MD5Verschlüsseln, dann MD5Ist nicht umkehrbar, dann die so genannten MD5Wie macht die Ent压缩 Website, das ist auch ein Weg der Gewaltent压缩

Nehmen wir ein Beispiel, Sie verwenden MD5Verschlüsseln Sie einen String, str="abc" Der verschlüsselte Ergebnis ist "3cd24fb0d6963f7d" Dies ist ein so langes Zeug, das andere sicherlich nicht verstehen, MD5Wie macht die Ent压缩 Website, sie beginnen, wenn sie nichts zu tun haben, zu versuchen, aa/cc/bb/abc Was für alles beginnen, MD5Verschlüsseln Sie einmal, speichern Sie es in Ihrer Datenbank, wenn Sie suchen, werden sie basierend auf dem "3cd24fb0d6963f7d" In der Datenbank vergleichen, wenn es eine Übereinstimmung gibt, können sie nicht gefunden werden, in den meisten Fällen können sie den verschlüsselten String nicht finden, wenn er etwas komplexer ist, das ist das, was als MD bezeichnet wird5Ent压缩密,也就是暴力破解了

上代码

import zipfile #Modul importieren, das für das Komprimieren und Ent压缩 verwendet wird
password="123" #Wir gesetzte Passwort
zfile = zipfile.ZipFile("test.zip") #Zu ent压缩的压缩包
zfile.extractall(path='C:\\Users\\Administrator\\Desktop\\', members=zfile.namelist(), pwd=password.encode('utf-8'))
#Führen Sie die Ent压缩操作 durch, path ist der Ausgabe-Pfad

Wir führen den obigen Code aus (natürlich muss Ihr Passwort verschlüsselt sein123, Sie werden feststellen, dass test.zip auf dem Schreibtisch bereits entpackt wurde, perfektes Ende, nicht, es fehlt noch die brute-force Passwortentsperrung, wissen Sie das Passwort, warum müssen Sie es knacken, nicht geduldig, weiter unten sehen

import zipfile 
zfile = zipfile.ZipFile("test.zip")
passFile=open('pwd.txt') # Lesen Sie die von Ihnen festgelegte Passwortdatei
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("Wieder falsch")

Der Inhalt von pwd.txt ist wie folgt

1223
abc
aaa
123

Nun, das hat die brute-force Passwortentsperrung für die zip-Datei abgeschlossen. Es war eigentlich nur eine kluge Nutzung des try-except-Exceptionmechanismus. Wenn das Entpacken normal verläuft, ist das Passwort korrekt, wenn das Entpacken fehlschlägt, wird eine Ausnahme gemeldet. Probieren Sie es aus.

Zusammenfassung

Das ist der Abschluss dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für Ihre Lern- oder Arbeitsaktivitäten einen gewissen Referenzwert hat. Wenn Sie Fragen haben, können Sie gerne Kommentare hinterlassen und Austausch betreiben. Vielen Dank für Ihre Unterstützung für das Lernprogramm Schrei.

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem jeweiligen Urheber. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte daran, hat den Inhalt nicht manuell bearbeitet und übernimmt keine rechtlichen Verantwortlichkeiten. Falls Sie Inhalte mit urheberrechtlichen Bedenken finden, senden Sie bitte eine E-Mail an: notice#w3Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem jeweiligen Urheber. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte daran, hat den Inhalt nicht manuell bearbeitet und übernimmt keine rechtlichen Verantwortlichkeiten. Falls Sie Inhalte mit urheberrechtlichen Bedenken finden, senden Sie bitte eine E-Mail an: notice#w

Empfohlene Artikel