noame Geschrieben 6. Juli 2017 Teilen Geschrieben 6. Juli 2017 Hallo, ich brauche einen Wordlist Generator geschrieben als Bash Script, welcher folgendes tut: Verschiedene Werte Abfragen und in ein Array schreiben. Also zum Beispiel Wort1? Wort2? etc. Außerdem sollen verschiedene Sonderzeichen verwendet werden, welche am besten auch beliebig definiert werden können. Anschließend sollen diese Werte in jeder beliebigen Kombination ausgegeben bzw. weggesichert werden. Beispiel: Wort1: baum Wort2: blume Wort3: bär Mögliche Sonderzeichen: + - : . #Ausgabe soll dann sein: baum baumblume baumblumebär baum.blumebär baumblume.bär baum.blume.bär baum.blume.bär. .baum.blume.bär .baum.blume.bär. .baum.blume. blume.baum.bär .blume-baum-bär. Die Ausgabe hier ist lange nicht vollständig aber ich denke am Beispiel ist erkennbar was der Sinn ist. Jede mögliche Kombination aus allen oder einzelnen Werten soll erstellt werden. Kann mir dazu jemand einen Ansatz geben? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1 mfk'); DROP TABLE Users;-- Geschrieben 7. Juli 2017 Teilen Geschrieben 7. Juli 2017 Die Sonderzeichen dürfen sich also wiederholen, die Worte aber nicht? Kein baumbaumbaum? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1 thereisnospace Geschrieben 9. Juli 2017 Teilen Geschrieben 9. Juli 2017 Wenn sich alles wiederholen darf, wäre die Liste unendlich groß, da es unendlich viele Kombinationen gäbe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
1 Gast OceanDrive Geschrieben 9. Juli 2017 Teilen Geschrieben 9. Juli 2017 Einen Ansatz solltest du aber selbst schaffen oder? Versuch es doch mal mit einer Datenstruktur ala Binärbaum. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 noame Geschrieben 9. Juli 2017 Autor Teilen Geschrieben 9. Juli 2017 Doch, es darf sich auch alles wiederholen. Also ginge Beispielsweise auch: baumbaumbaum baum.baum-baum; baum.bär.baum usw. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 noame Geschrieben 9. Juli 2017 Autor Teilen Geschrieben 9. Juli 2017 Das stimmt, dann wäre vielleicht eine Begrenzung auf eine bestimmte Anzahl Wörter nötig. Per Parameter am besten, aber hardkodiert reicht auch. Den Parameter kann ich mir selbst basteln. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 noame Geschrieben 9. Juli 2017 Autor Teilen Geschrieben 9. Juli 2017 Leider nein. ich schau mir mal den Binärbaum an, kenne ihn nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 noame Geschrieben 9. Juli 2017 Autor Teilen Geschrieben 9. Juli 2017 Ich bin nun ein wenig weiter. Ich habe zum testen die Variablen noch statisch festlegen lassen. Später werden sie vom User eingegeben. Das folgende Script ist mein erster Ansatz und ich hoffe das mir auf dieser Basis jemand weiter helfen kann. Vielen Dank schon einmal. #!/usr/bin/env bash clear #remove existing dev file rm dev.txt #get informations #write informations into dev.txt firstname=1 echo $firstname >> dev.txt lastname=2 echo $lastname >> dev.txt birthday=3 echo $birthday >> dev.txt birthmonth=4 echo $birthmonth >> dev.txt birthyear=5 echo $birthyear >> dev.txt #declare array #write values into array declare -a infos0 mapfile -t infos0 < dev.txt declare -a infos1 mapfile -t infos1 < dev.txt #for every element of array for (( i = 0 ; i < ${#infos0[@]} ; i++)) do #show content of element echo "Element [$i]: ${infos0[$i]}" done #declare variable declare password #for every element of array0 for (( i = 0 ; i < ${#infos0[@]} ; i++)) do #store removed array element in variable removed_value=${infos1[0]} #show removed element content echo removed_value=$removed_value #define array element to remove pos=0 #remove element from array infos1=(${infos1[@]:0:$pos} ${infos1[@]:$(($pos + 1))}) #add removed element at end of array infos1=("${infos1[@]}" $removed_value) #write content from first element of password in variable word=${infos0[$i]} #for every element of array1 for (( i = 0 ; i < ${#infos0[@]} ; i++)) do #combine variable and element of array1 password=$word${infos1[$i]} echo password: $password #for every element of array1 for (( i = 0 ; i < ${#infos0[@]} ; i++)) do #combine variable and element of array1 password=$password${infos1[$i]} echo password: $password done done done Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 noame Geschrieben 10. Juli 2017 Autor Teilen Geschrieben 10. Juli 2017 Ein anderer, eventuell einfacherer, Ansatz: Ich hänge die Variablen aneinander. Ganz einfach so: baum blume bär baum blume bär baum blume bär baum blume bär baum blume bär baum blume bär Und setze dann immer erst nach einem und dann nach drei Wörtern einen "cut". Also Beispielsweise für eine Wordlist einen Zeilenumbruch. Dann sähe die Wordlist ungefähr so aus: baum blume bär baum blume bär baum blume bär baum blume bär baum blume bär baum blume bär baum blume bär baum blume bär baum blume Vorgehen mit mehr als drei Wörtern: Erst nach einem Wort den "cut" setzen, und anschließend nach $x Wörtern. Wobei $x die Anzahl der gesamt zur verfügung stehenden Wörtern ist. Damit habe ich alle möglichen Kombinationen aus verschiedenen Wörtern. --- Jetzt muss noch mit eingebracht werden: - Wörter dürfen sich wiederholen. (Beispiel: baumbaumbaum, baumbaumblume) - Trennzeichen müssen mit einbezogen werden. (Beispiel: baumbaum baum, baum-baum.baum) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0 Crash2001 Geschrieben 11. Juli 2017 Teilen Geschrieben 11. Juli 2017 Ist vom Prinzip her eigentlich ganz einfach. Wörter in ein Array einlesen erlaubte Sonderzeichen in ein zweites Array einlesen verschachtelte Schleifen nutzen, um die Inhalte auszugeben. (Beispiel für 3 Wörter plus dazwischen 2 Mögliche Sonderzeichen oder kein Sonderzeichen dazwischen) Hinweis: ${#arr} = Anzahl der Elemente im Array #Sonderzeichen-Array füllen (Welche Zeichen sollen möglich sein - auch kein Sonderzeichen) declare -a sonderzeichen=("" "+" "-" "." ":") #Array mit Wörtern füllen - der Einfachheit halber hier statisch vorgegeben declare -a arr=("baum" "baer" "blume") ## durch Array "arr" gehen for i in "${arr[@]}" do for j in "${sonderzeichen[@]}" do for k in "${arr[@]}" do for l in "${sonderzeichen[@]}" do for m in "${arr[@]}" do echo "${arr[$i]}" "${sonderzeichen[$j]}" "${arr[$k]}" "${sonderzeichen[$j]}" "${arr[$m]}" "\n" done Ob die Syntax stimmt, weiß ich nicht, da ich hier keine Bash zur Verfügung habe. Vom Prinzip sollte es so in der Art aber eigentlich funktionieren. Aufpassen muss man eventuell mit Buchstaben wie ä, ö und ü, sowie ß, ob diese richtig dargestellt werden. Alternativ könnte es auch so gehen: #Sonderzeichen-Array füllen (Welche Zeichen sollen möglich sein - auch kein Sonderzeichen) declare -a sonderzeichen=("" "+" "-" "." ":") #Array mit Wörtern füllen - der Einfachheit halber hier statisch vorgegeben declare -a arr=("baum" "baer" "blume") for ((i=0; i < ${#arr}; i++)) do for ((j=0; j < ${#sonderzeichen}; j++)) do for ((k=0; k < ${#arr}; k++)) do for ((l=0; l < ${#sonderzeichen}; l++)) do for ((m=0; m < ${#arr}; m++)) do echo "${arr[$i]}" "${sonderzeichen[$j]}" "${arr[$k]}" "${sonderzeichen[$j]}" "${arr[$m]}" "\n" done Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
-2 mfk'); DROP TABLE Users;-- Geschrieben 10. Juli 2017 Teilen Geschrieben 10. Juli 2017 Für Passwörter also, wie überraschend... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Frage
noame
Hallo,
ich brauche einen Wordlist Generator geschrieben als Bash Script, welcher folgendes tut:
Verschiedene Werte Abfragen und in ein Array schreiben.
Also zum Beispiel Wort1? Wort2? etc.
Außerdem sollen verschiedene Sonderzeichen verwendet werden, welche am besten auch beliebig definiert werden können.
Anschließend sollen diese Werte in jeder beliebigen Kombination ausgegeben bzw. weggesichert werden.
Beispiel:
Die Ausgabe hier ist lange nicht vollständig aber ich denke am Beispiel ist erkennbar was der Sinn ist.
Jede mögliche Kombination aus allen oder einzelnen Werten soll erstellt werden.
Kann mir dazu jemand einen Ansatz geben?
Link zu diesem Kommentar
Auf anderen Seiten teilen
10 Antworten auf diese Frage
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.