Seite 1 von 2

Buchstaben wechseln

Verfasst: 07.11.2008 21:39
von P7BB
Hallo, ich würde gerne ein Script erstellen, welches alle Buchstabenkombinationen abgeht. Das problem ist auch nicht, neue Buchstaben/Zahlen anzuhängen, sondern eine Reihenfolge festzulegen, sodass das script a,b,c,...,...,1,2,3,...,9,9 ausprobiert. Es wäre ja sehr umständlich, wenn ich immer ne Abfrage machen muss, was der gewünschte Buchstabe für einer ist und dann für jeden Buchstaben ne IF-ABfrage mach... Und fast hätte ich es vergessen... Wenn es geht, soll das ganze in JavaScript ablaufen.

Und nicht, dass jetzt jemand denkt, ich will ne Homepage hacken... Der Sinn ist eigentlich nur, dass ich mein kennwort von meiner eigenen homepage vergessen hab ( :oops: ) und nur den md5-hash hab. Leider benutze ich das selbe Kennwort noch für 1 weitere Homepage, bei der ich mir mein Kennwort ebenfalls nicht zusenden lassen kann, bzw. es ändern kann und somit das alte Kennwort erst herausfinden muss, bevor ich bei meiner eigenen Homepage den Hash ändern kann....

Verfasst: 08.11.2008 01:11
von igorw
Wenn du zugriff auf den MD5-hash, also die datenbank hast, solltest du auch in der lage sein diese zu verändern, nicht? Und was hindert dich daran, mit dem admin kontakt aufzunehmen?

Re: Buchstaben wechseln

Verfasst: 08.11.2008 10:17
von StarWolf3000
P7BB hat geschrieben:Und nicht, dass jetzt jemand denkt, ich will ne Homepage hacken... Der Sinn ist eigentlich nur, dass ich mein kennwort von meiner eigenen homepage vergessen hab ( :oops: ) und nur den md5-hash hab. Leider benutze ich das selbe Kennwort noch für 1 weitere Homepage, bei der ich mir mein Kennwort ebenfalls nicht zusenden lassen kann, bzw. es ändern kann und somit das alte Kennwort erst herausfinden muss, bevor ich bei meiner eigenen Homepage den Hash ändern kann....
Wenn du nur den MD5-Hash von deinem Passwort hast, kann dir kein Script helfen. MD5 ist ein Ein-Weg-Algorithmus, soll heissen: einmal Text in den Hash codiert kann dies nicht mehr rückgängig gemacht werden.

Du musst einen neuen MD5-Hash aus einem neuen Passwort erzeugen, das geht sowohl über eine komplizierte JavaScript-Routine als auch einfacher über PHP bspw. mit der md5()-Funktion, zudem gibt es auch diverse Generatoren im Netz die dir den MD5-Hash zu einem Passwort anzeigen.

Hier ein einfacher MD5-Hash-Generator auf PHP-Basis.

Verfasst: 08.11.2008 11:22
von 4seven
mE kann sich bei jedem Dienst das vergessene Passwort zusenden lassen. Im schlimmsten Falle ein Anruf beim Provider mit schriftlich übersandtem Passwort (zb web.de, t-online). Bei Datenbankzugriff (phpbb3) erstellt man einen neuen Benutzer (mit dann bekanntem Passwort) , kopiert dann den gesalzenen Hash in seinen Benutzertabelle und fertig.

Verfasst: 08.11.2008 13:42
von P7BB
Ich sagte bereits, dass ich dasselbe Kennwort auf einer anderen Homepage verwendet habe und dort nicht mehr rankomme. Der HP-Admin kann mir auch nicht weiterhelfen, da er auch nur den Hash hat, den ich auch schon habe.
Und ich erklär mal kurz das Prinzip:
ich lasse per Javascript ein kennwort erzeugen: "a"
er übergibt das kennwort an eine ajax-datei, die wiederum eine php-datei aufruft. diese verwandelt "a" in einen hash und vergleicht ihn dann. Falls der Hash falsch ist, wird "a" in "b" umgewandelt. Und dann eben in "c" usw...
Und nun soll sich keiner Sorgen machen, dass man so auch andere Homepages hacken könnte, denn soweit ich weiß kann Ajax nur lokale Dateien aufrufen, dh. der passwort-vergleich würde nichtmal zustanden kommen... Und der Admin von der anderen HP hat mir übrigens geantwortet, dass es nicht möglich ist, ein md5-hash zu entschlüsseln, egal, um welchen User es sich handelt, und das kennwort wird er deshalb nicht ändern, weil ich könnte ja jeder xbeliebige sein und sagen "Das ist mein Account, hier nimm mal bitte den neuen Hash als mein kennwort".

Verfasst: 08.11.2008 14:55
von Boecki91
Das was du ausprobiertst nennt sich Brute-Force-Methode.

Weißt du noch wie dein Passwort aussah? die Länge Komplexivität

(Anzahl der möglichen Zeichen)hoch(Länge des Passwortes)

Jetzt rechne mal zusammen das Alphabet in Kleinbuchstaben in Großbuchstaben plus Ziffern sind wir bei 70 Möglichkeiten, dann wirst du sicherlich mindestens 6 Stellige Passwörter haben(hoffe ich)
das wären dann über 128 Millarden Möglichkeiten. Jetzt kann es sein das du die Länge nicht mehr genau weißt, und schon hast du noch viel mehr Möglichkeiten.

Dein Ajax ist da viel zu lahm, dann noch die Zig weitergabe Möglichketien etc etc etc Sagen wir ein Aufruf dauert nur 1ms (würde aber viel länger Dauern) dann würdest du 128 Millionen Sekunden brauchen Wenn ich mich nicht verrechnet habe wären das dann 4 Jahre die du so ca maximal Brauchst, nach durchschnittlich 2 Jahren hättest du dein Passwort raus.

Wenn man einfachere Konstruktionen wählt geht das bestimmt schneller.

Im Netz fand ich folgendes:
http://www.orange.co.jp/~masaki/rc5/rfratee.html
12286100 Keys pro Sekunde auf einem Haushalts-PC

Mit einsetzen und etc etc dauert es länger, schau dir mal den Bericht an:
http://www.zdnet.de/security/praxis/0,3 ... 878,00.htm

Verfasst: 08.11.2008 20:38
von Andi1111
eventuell hilft es ja bei google mal nach md5 decodieren oder md5 decoder zu suchen, bei nicht so komplizierten passwörtern kriegt man sicher irgendwo ein ergebnis.

Verfasst: 09.11.2008 10:10
von StarWolf3000
Andi1111 hat geschrieben:eventuell hilft es ja bei google mal nach md5 decodieren oder md5 decoder zu suchen, bei nicht so komplizierten passwörtern kriegt man sicher irgendwo ein ergebnis.
Solche Decrypter gibt es zwar, allerdings kann man sich nie sicher sein, dass dabei auch der Original-Text dabei herauskommt, da die Länge des Hashs immer 32 Zeichen lang ist und daher irgendwann Hashes doppelt auftauchen bei unterschiedlichen Ausgangs-Zeichenketten. Ein MD5-Hash besteht aus Zeichen, die sich aus den Ziffern 0-9 und den Kleinbuchstaben a-f zusammensetzen.

Verfasst: 09.11.2008 13:44
von Andi1111
ich meinte ja auch nur das es einen versuch wert ist, ich habe mal ein paar wörter die mir so eingefallen sind getestet, und die wurden alle richtig entschlüsselt.

Verfasst: 10.11.2008 09:05
von P7BB
Mein Kennwort ist sehr simpel aufgebaut. Ein einfacher PIN. also 4 Ziffern. Natürlich hat man nur 3 Login-Versuche pro Woche, damit man nicht so leicht gehackt wird ;)
und 10 hoch 4 = 10.000
Das schaft JS + Ajax in ca. 200 Sekunden (100 Ziffern/s * 2; das "* 2" deshalb, weil eine Ajax Datei local auf meinem PC ca. 2 Sekunden/100 Zahlen brauch.)
Und die entsprechende PHP-Datei zum überprüfen wird mich natürlich nicht sperren, wenn ein Kennwort falsch ist ;) Da das ganze sowieso lokal auf meinem PC abläuft, besteht auch keine ernstzunehmende GEfahr, dass jemand diese Datei ausnutzt, um einen anderen User zu hacken.
Jetz fragen sich einige, was es nun mit den Buchstaben hochzählen auf sich hat... Der User muss neben dem kennwort noch einen Buchstaben eingeben, welcher zwar nicht unbedingt richtig sein muss, aber trotzdem den "PIN" nochmal verschlüsselt.

Code: Alles auswählen

kompletteskennwort = pin + buchstabe;
Ergibt bei mir (mit dem bsp-pin 0000 und dem buchstaben "a"): 0000a (dies gilt nur für JavaScript!)
nun ist das kennwort nochmal etwas verschlüsselt, denn wenn der has von 0000 "asdfasdfasdf" (das so ein Has nicht aussieht, ist mir klar ;) ) ist, ist er von 0000a anders.
Nun stimmt meine Rechnung oben auch nicht mehr, denn es gibt ja 26 Buchstaben. Deshalb noch 200sekunden * 26! 5.200 Sekunden. 86 2/3 Minuten. Also ca. 1,5 Stunden. So viel zeit hab ich. Da ich aber davon ausgehe, dass mein Buchstabe nicht "x","y" oder "z" ist, kann ich das ganze etwas mehr eingrenzen: 200 sekunden * 23 = 4.600 = 1 2/3 Stunden
Also ca. 10 Minuten weniger. Und ich glaub, 1 Stunde und 20 Minuten hab ich dann doch noch am Tag Zeit... vor allem, weil ich ja nichtmal unbedingt dabei sein muss. Es würde mir also wirklich sehr helfen ;)