Einleitung
In diesem Lab werden Sie die grundlegenden Techniken zur Erstellung und Verwaltung benutzerdefinierter Wortlisten mit Standard-Linux-Befehlszeilenprogrammen erkunden. Wortlisten sind entscheidend für verschiedene Cybersicherheits- und Datenverarbeitungsaufgaben, vom Brute-Force-Angriff auf Passwörter über das Fuzzing von Anwendungen bis hin zur Analyse von Textdaten. Sie lernen, wie Sie einfache Wortlisten generieren, mehrere Listen kombinieren, doppelte Einträge entfernen, sie alphabetisch sortieren und nach Länge filtern. Am Ende dieses Labs werden Sie ein solides Verständnis dafür haben, wie Sie Textdateien effizient manipulieren können, um maßgeschneiderte Wortlisten für Ihre spezifischen Bedürfnisse zu erstellen.
Erstellen einer einfachen benutzerdefinierten Wortliste
In diesem Schritt lernen Sie, wie Sie mit dem echo-Befehl und Umleitung eine einfache benutzerdefinierte Wortliste erstellen. Dies ist der einfachste Weg, eine Datei zu generieren, die einige Wörter enthält, jedes in einer neuen Zeile.
Navigieren Sie zuerst in Ihr Projektverzeichnis, falls Sie sich nicht bereits dort befinden:
cd ~/project
Erstellen Sie nun eine einfache Wortliste namens my_wordlist.txt mit einigen Wörtern:
echo -e "apple\nbanana\norange\ngrape" > my_wordlist.txt
Die Option -e aktiviert die Interpretation von Backslash-Escapes, und \n erzeugt eine neue Zeile. Das > leitet die Ausgabe in die angegebene Datei um, erstellt sie, falls sie nicht existiert, oder überschreibt sie, falls sie existiert.
Um den Inhalt Ihrer neu erstellten Wortliste zu überprüfen, verwenden Sie den cat-Befehl:
cat my_wordlist.txt
Sie sollten die folgende Ausgabe sehen:
apple
banana
orange
grape
Fügen wir als Nächstes weitere Wörter zur selben Wortliste hinzu, ohne den vorhandenen Inhalt zu überschreiben. Wir verwenden den Operator >> zum Anhängen.
echo -e "kiwi\nstrawberry\nblueberry" >> my_wordlist.txt
Überprüfen Sie den aktualisierten Inhalt:
cat my_wordlist.txt
Die Ausgabe sollte nun die neu hinzugefügten Wörter enthalten:
apple
banana
orange
grape
kiwi
strawberry
blueberry
Diese Methode ist nützlich, um schnell kleine, benutzerdefinierte Wortlisten zu generieren oder Einträge zu bestehenden hinzuzufügen.
Kombinieren mehrerer Wortlisten
In diesem Schritt lernen Sie, wie Sie den Inhalt mehrerer Wortlisten zu einer einzigen, konsolidierten Wortliste zusammenführen. Dies ist eine gängige Aufgabe, wenn Sie verschiedene Wortquellen haben, die Sie zusammenführen möchten.
Erstellen wir zunächst eine weitere kleine Wortliste namens additional_words.txt:
echo -e "melon\npeach\nplum" > additional_words.txt
Überprüfen Sie deren Inhalt:
cat additional_words.txt
Sie sollten Folgendes sehen:
melon
peach
plum
Nun werden wir my_wordlist.txt und additional_words.txt zu einer neuen Datei namens combined_wordlist.txt kombinieren. Wir verwenden den cat-Befehl, um die Dateien zu verketten und die Ausgabe umzuleiten.
cat my_wordlist.txt additional_words.txt > combined_wordlist.txt
Untersuchen Sie den Inhalt von combined_wordlist.txt:
cat combined_wordlist.txt
Die Ausgabe zeigt alle Wörter aus beiden Dateien in der Reihenfolge, in der sie verkettet wurden:
apple
banana
orange
grape
kiwi
strawberry
blueberry
melon
peach
plum
Diese Technik ist sehr flexibel und kann verwendet werden, um eine beliebige Anzahl von Wortlisten zu kombinieren.
Entfernen von Duplikaten aus einer Wortliste
Wortlisten enthalten oft doppelte Einträge, insbesondere nach dem Kombinieren mehrerer Quellen. In diesem Schritt lernen Sie, wie Sie diese Duplikate mit den Befehlen sort und uniq entfernen. Der Befehl uniq erkennt nur aufeinanderfolgende doppelte Zeilen, daher ist es entscheidend, die Datei zuerst zu sortieren.
Fügen wir absichtlich einige doppelte Einträge zu unserer combined_wordlist.txt hinzu, um dies zu demonstrieren.
echo -e "apple\nbanana\nmelon" >> combined_wordlist.txt
Zeigen Sie nun den Inhalt von combined_wordlist.txt an, um die Duplikate zu sehen:
cat combined_wordlist.txt
Sie werden feststellen, dass apple, banana und melon mehrmals vorkommen.
Um Duplikate zu entfernen, sortieren wir zuerst die Datei und leiten die Ausgabe dann an uniq weiter. Wir speichern das Ergebnis in einer neuen Datei, unique_wordlist.txt.
sort combined_wordlist.txt | uniq > unique_wordlist.txt
Untersuchen Sie nun unique_wordlist.txt:
cat unique_wordlist.txt
Die Ausgabe sollte nun nur noch eindeutige Einträge enthalten, alphabetisch sortiert:
apple
banana
blueberry
grape
kiwi
melon
orange
peach
plum
strawberry
Dies ist eine leistungsstarke Kombination von Befehlen zur Bereinigung von Wortlisten.
Eine Wortliste alphabetisch sortieren
Das alphabetische Sortieren einer Wortliste ist oft nützlich für die Organisation, bessere Lesbarkeit und als Voraussetzung für andere Operationen wie das Entfernen von Duplikaten (wie im vorherigen Schritt gezeigt). In diesem Schritt werden Sie explizit eine Wortliste sortieren.
Wir werden den Befehl sort auf unserer unique_wordlist.txt verwenden und die sortierte Ausgabe in sorted_wordlist.txt speichern. Obwohl unique_wordlist.txt bereits sortiert ist, demonstriert dieser Schritt den Befehl sort unabhängig.
sort unique_wordlist.txt > sorted_wordlist.txt
Zeigen Sie nun den Inhalt von sorted_wordlist.txt an:
cat sorted_wordlist.txt
Die Ausgabe sind die Wörter in alphabetischer Reihenfolge:
apple
banana
blueberry
grape
kiwi
melon
orange
peach
plum
strawberry
Der Befehl sort hat viele Optionen, wie z. B. -r für umgekehrte alphabetische Reihenfolge oder -n für numerische Sortierung. Zum Beispiel, um in umgekehrter Reihenfolge zu sortieren:
sort -r unique_wordlist.txt
Dies würde ausgeben:
strawberry
plum
peach
orange
melon
kiwi
grape
blueberry
banana
apple
Für dieses Lab werden wir bei der standardmäßigen alphabetischen Sortierung bleiben.
Eine Wortliste nach Länge filtern
Manchmal müssen Sie eine Wortliste basierend auf der Länge der Wörter filtern. Sie möchten zum Beispiel nur Wörter, die zwischen 5 und 8 Zeichen lang sind. In diesem Schritt verwenden Sie den Befehl awk, um Wörter nach ihrer Länge zu filtern.
Wir werden sorted_wordlist.txt filtern, um nur Wörter einzuschließen, deren Länge zwischen 5 und 7 Zeichen (einschließlich) liegt. Die Funktion length($0) in awk gibt die Länge der aktuellen Zeile (des Wortes) zurück.
awk 'length($0) >= 5 && length($0) <= 7' sorted_wordlist.txt > filtered_wordlist.txt
Inspizieren Sie nun den Inhalt von filtered_wordlist.txt:
cat filtered_wordlist.txt
Die Ausgabe sollte nur Wörter enthalten, die die Längenkriterien erfüllen:
apple
banana
orange
grape
melon
peach
Lassen Sie uns den awk-Befehl aufschlüsseln:
awk: Das Kommandozeilen-Dienstprogramm für die Textverarbeitung.'length($0) >= 5 && length($0) <= 7': Dies ist dasawk-Programm.length($0): Gibt die Länge der gesamten Zeile zurück ($0bezieht sich auf die gesamte Zeile).>= 5: Prüft, ob die Länge größer oder gleich 5 ist.&&: Logischer UND-Operator.<= 7: Prüft, ob die Länge kleiner oder gleich 7 ist.- Wenn die Bedingung wahr ist, gibt
awkdie Zeile standardmäßig aus.
sorted_wordlist.txt: Die Eingabedatei.> filtered_wordlist.txt: Leitet die Ausgabe in eine neue Datei um.
Diese Filterfunktion ist sehr leistungsfähig, um Wortlisten für bestimmte Zwecke zu verfeinern.
Zusammenfassung
In diesem Lab haben Sie erfolgreich gelernt, wie Sie benutzerdefinierte Wortlisten mit verschiedenen wichtigen Linux-Kommandozeilen-Tools erstellen und verwalten. Sie haben damit begonnen, einfache Wortlisten mit echo und Umleitung zu generieren, dann mehrere Listen mit cat kombiniert. Sie haben die entscheidende Technik des Entfernens von Duplikaten durch die Kombination von sort und uniq gemeistert und das alphabetische Sortieren von Wortlisten geübt. Schließlich haben Sie awk verwendet, um Wortlisten basierend auf spezifischen Längenkriterien zu filtern. Diese Fähigkeiten sind grundlegend für jeden, der mit Textdaten arbeitet, insbesondere in der Cybersicherheit für Aufgaben wie Passwort-Cracking, Fuzzing und Datenanalyse. Sie haben nun eine solide Grundlage für die Manipulation und Verfeinerung von Wortlisten, um unterschiedlichen Anforderungen gerecht zu werden.


