tag:forum.selfhtml.org,2005:/self Passwordschutz mit JavaScript? – SELFHTML-Forum 2002-02-02T17:01:29Z https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170144#m170144 ToTo toto@primacom.net 2002-02-01T11:04:32Z 2002-02-01T11:04:32Z Passwordschutz mit JavaScript? <p>Hallo!</p> <p>Meist lese ich hier nur passiv mit, ich bin aber jetzt an einer Sache dran, die mich verblüfft.<br> Bisher dachte ich immer, es ist nicht möglich mit JavaScript einen effektiven Passwortschutz zu realisieren.<br> Gestern bin ich jedoch über http://www.geocities.com/~lef/jscript.html "gestolpert", dort gibts ein Script namnes "Password Pro". Es ist mir bisher nicht richtig gelungen, dieses Teil zu "knacken".<br> Schaut Euch das mal und sagt mir, ob ich zu blöde bin oder ob das wirklich so raffiniert gemacht ist.</p> <p>Gruß ToTo</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170145#m170145 Sönke Tesch 2002-02-01T11:31:52Z 2002-02-01T11:31:52Z Passwordschutz mit JavaScript? <blockquote> <p>Bisher dachte ich immer, es ist nicht möglich mit JavaScript einen effektiven Passwortschutz zu realisieren.<br> Gestern bin ich jedoch über http://www.geocities.com/~lef/jscript.html "gestolpert", dort gibts ein Script namnes "Password Pro". Es ist mir bisher nicht richtig gelungen, dieses Teil zu "knacken".</p> </blockquote> <p>Das liegt vielleicht daran, daß da nichts zu knacken ist?</p> <blockquote> <p>Schaut Euch das mal und sagt mir, ob ich zu blöde bin oder ob das wirklich so raffiniert gemacht ist.</p> </blockquote> <p>Vielleicht bin ich ja etwas einfältig, aber der ganze tolle "Passwortschutz" reduziert sich nach 15-sekündiger Betrachtung doch irgendwie auf diese einzelne Zeile:</p> <p>location.href=document.lgform.passwd.value+'.html'</p> <p>Oder wie es der werte Autor so schön in seiner Anleitung sagt:</p> <p>Now what about the name of your secret page ?<br>   The pages name must be the same with your password !!<br>   Example : You set for password Ig6rt<br>   Your hidden page must be named Ig6rt.html</p> <p>Na, was'n Ding! ;> Da wird also einfach auf eine Seite weitergeleitet, deren Name der des Passworts ist. Das ganze Drumherum ist nur unnützes Beiwerk, vielleicht um den bösen Hacker zu verwirren, weiterer Untersuchung jedenfalls nicht wert.</p> <p>Bleibt die Frage:<br> Warum sagt man seinen Benutzern nicht gleich "Deine Seite heißt Ig6rt.html" - ohne Javascript, ohne Extra-Formular, dafür aber sogar  lesezeichenfähig?</p> <p>Bleibt die Erkenntnis:<br> Mit reinem Javascript sind echte Passwortabfragen nicht möglich.</p> <p>Bleibt das ungute Gefühl:<br> Ich habe die Genialität dieser Konstruktion irgendwie doch übersehen :)</p> <p>Gruß,<br>   soenk.e</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170146#m170146 Harry harry@ilo.de http://harry.ilo.de 2002-02-01T11:45:57Z 2002-02-01T11:45:57Z Passwordschutz mit JavaScript? <p>Hallihallo</p> <blockquote> <p>Vielleicht bin ich ja etwas einfältig, aber der ganze tolle "Passwortschutz" reduziert sich nach 15-sekündiger Betrachtung doch irgendwie auf diese einzelne Zeile:</p> </blockquote> <blockquote> <p>location.href=document.lgform.passwd.value+'.html'</p> </blockquote> <p>Prinzipiell schon, aber ...</p> <blockquote> <p>Bleibt das ungute Gefühl:<br> Ich habe die Genialität dieser Konstruktion irgendwie doch übersehen :)</p> </blockquote> <p>... vorher wird noch überprüft, ob das Passwort auch stimmt :-) Es ist also nicht irgendwie nur eine Weiterleitung ins endlose 404-Nirvana wenn das Passwort falsch ist.</p> <p>Bleibt die Frage: Hat sich der Harry von dem Drumherum verwirren lassen ?</p> <p>Ciao,</p> <p>Harry</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170153#m170153 ToTo toto@primacom.net 2002-02-01T13:42:27Z 2002-02-01T13:42:27Z Passwordschutz mit JavaScript? <blockquote> <p>Na, was'n Ding! ;> Da wird also einfach auf eine Seite weitergeleitet, deren Name der des Passworts ist. Das ganze Drumherum ist nur unnützes Beiwerk, vielleicht um den bösen Hacker zu verwirren, weiterer Untersuchung jedenfalls nicht wert.</p> </blockquote> <blockquote> <p>Bleibt die Frage:<br> Warum sagt man seinen Benutzern nicht gleich "Deine Seite heißt Ig6rt.html" - ohne Javascript, ohne Extra-Formular, dafür aber sogar  lesezeichenfähig?</p> </blockquote> <p>Da hast Du völlig Recht, das habe ich auch gemerkt, mir ging es aber mehr darum, ob es möglich ist, auf die Seite zu gelangen wenn man das Passwort (und damit den Dateinamen) nicht kennt. Und genau das ist mir bisher nicht gelungen...</p> <p>Gruß ToTo</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170147#m170147 Christian Kruse CK1@wwwtech.de 2002-02-01T12:53:30Z 2002-02-01T12:53:30Z Passwordschutz mit JavaScript? <p>Hoi,</p> <blockquote> <p>... vorher wird noch überprüft, ob das Passwort auch stimmt :-) Es<br> ist also nicht irgendwie nur eine Weiterleitung ins endlose<br> 404-Nirvana wenn das Passwort falsch ist.</p> </blockquote> <p>Und dadurch wird das PW 'knackbar' ;-)</p> <p>Gruesse,<br>  C'halbe Stunde'K</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170148#m170148 Harry harry@ilo.de http://harry.ilo.de 2002-02-01T15:39:35Z 2002-02-01T15:39:35Z Passwordschutz mit JavaScript? <p>Holladiri</p> <blockquote> <p>Und dadurch wird das PW 'knackbar' ;-)</p> </blockquote> <p>Richtig. Trotzdem ist das Ding nicht schlecht gemacht.<br> Das blabla am Anfang produziert folgende "Funktionswerte" für f[x], denen mit dem Array base jeweils ein Buchstabe zugeordnet wird:</p> <p>0:  23  0<br> 1:  535  1<br> 2:  1047 2<br> 3:  1559 3<br> 4:  2071 4<br> 5:  2538 5<br> 6:  3095 6<br> 7:  3607 7<br> 8:  4119 8<br> 9:  4631 9<br> 10: 12  A<br> 11: 21  B<br> 12: 26  C<br> 13: 38  D<br> 14: 53  E<br> 15: 72  F<br> 16: 101  G<br> 17: 139  H<br> 18: 294  I<br> 19: 375  J<br> 20: 584  K<br> 21: 841  L<br> 22: 1164 M<br> 23: 1678 N<br> 24: 2425 O<br> 25: 4989 P<br> 26: 6478 Q<br> 27: 10076 R<br> 28: 14494 S<br> 29: 21785 T<br> 30: 30621 U<br> 31: 69677 V<br> 32: 87452 W<br> 33: 139356 X<br> 34: 201113 Y<br> 35: 278810 Z<br> 36: 80  a<br> 37: 83  b<br> 38: 93  c<br> 39: 99  d<br> 40: 113  e<br> 41: 131  f<br> 42: 159  g<br> 43: 194  h<br> 44: 346  i<br> 45: 416  j<br> 46: 619  k<br> 47: 861  l<br> 48: 1165 m<br> 49: 1649 n<br> 50: 2256 o<br> 51: 4766 p<br> 52: 6077 q<br> 53: 9554 r<br> 54: 13713 s<br> 55: 20576 t<br> 56: 28894 u<br> 57: 65661 v<br> 58: 82386 w<br> 59: 131248 x<br> 60: 164801 y<br> 61: 262524 z</p> <p>Anschließend wird das Passwort zerlegt und Anhand der einzelnen Werte oben nach der Formel</p> <p>Zeichenwert = (Zeichenposition + 1) * (zugeordneter Wert)</p> <p>umgerechnet. Die Zeichenwerte werden addiert, am Ende muß der Wert rauskommen, der in der Script-Datei definiert ist:</p> <p>login[0]=new id("lef",14817)</p> <p>Der erste Teil "lef" ist der Login-Name, der zweite der "Wert" des Passworts. Jetzt gilt es nur noch, rückwärts aus dem Wert auf das Passwort zu schließen ...</p> <p>(das muß sein wegen der Zeile location.href=document.lgform.passwd.value+'.html';)</p> <p>Doch da hakts bei mir. Gibt's da einen einigermaßen vernünftigen Ansatz oder hilft da nur Bruteforce (natürlich unter Weglassung idiotischer Werte) ?!</p> <p>Ciao,</p> <p>Harry</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170152#m170152 LanX 2002-02-01T18:21:12Z 2002-02-01T18:21:12Z Passwordschutz mit JavaScript? <p>Re »» Hoi,</p> <blockquote> <p>Und dadurch wird das PW 'knackbar' ;-)</p> </blockquote> <p>Muss aber nicht sein, die Diskussion hatten wir aber schonmal<br> <a href="http://forum.de.selfhtml.org/archiv/2001/11/1071/#m7030" rel="nofollow noopener noreferrer">http://forum.de.selfhtml.org/archiv/2001/11/1071/#m7030</a></p> <p>Tschau</p> <p>Rolf</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170149#m170149 LanX 2002-02-01T18:43:57Z 2002-02-01T18:43:57Z Passwordschutz mit JavaScript? <p>ReHolladiri ;)</p> <blockquote> <p>Zeichenwert = (Zeichenposition + 1) * (zugeordneter Wert)</p> </blockquote> <p>ist Zeichenpostion die Position im Passwort oder die in der Tabelle?</p> <blockquote> <p>(das muß sein wegen der Zeile location.href=document.lgform.passwd.value+'.html';)</p> </blockquote> <blockquote> <p>Doch da hakts bei mir. Gibt's da einen einigermaßen vernünftigen Ansatz oder hilft da nur Bruteforce (natürlich unter Weglassung idiotischer Werte) ?!</p> </blockquote> <p>Naja<br> 1. kannst du erstmal zuhause deinen Brutforceangriff starten,<br> d.h. du brachst nicht jede HTMLdatei auszuprobieren.</p> <p>2. erinnerts mich an mathematische Probleme in denen du eine bestimmte<br> Anordnung von Muenzen bestimmter Werte (1,2,5,10,50,...) bekommst und<br> ausbaldovern sollst, auf wieviele Arten du einen bestimmten Preis zusammenstückeln<br> kannst. Das wird Graphentheoretisch gelöst mit bestimmten Suchalgorithmen.</p> <p>3. Ich würd persönlich erstmal ne Primzahlzerlegung der Zahlen machen<br> und sie in Restklassen einordnen.</p> <p>Nach dem Prinzip: wenn die Summe gerade ist kann nur eine gerade Anzahl<br> ungerader Zahlen aufaddiert worden sein. Und dieses Prinzip von 2 auf 3,5,7,...<br> verallgemeinern. Der in 2. erwähnte Graph wird wohl nach diesen Gesichtspunkten aufgebaut.</p> <p>4. Ich bin mir sicher dass diese Funktion nicht eindeutige Werte<br> liefert, d.h. mehrere Passwörter ergeben den selben Kontrollwert.<br> Ne Art Hashfunktion.</p> <p>Tschuess<br>    Rolf</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170150#m170150 Harry harry@ilo.de http://harry.ilo.de 2002-02-02T12:37:26Z 2002-02-02T12:37:26Z Passwordschutz mit JavaScript? <p>Holladiwaldfee</p> <blockquote> <blockquote> <p>Zeichenwert = (Zeichenposition + 1) * (zugeordneter Wert)</p> </blockquote> </blockquote> <blockquote> <p>ist Zeichenpostion die Position im Passwort oder die in der Tabelle?</p> </blockquote> <p>War wohl unklar formuliert:</p> <p>Zeichewert = ((Position des Zeichens im Passwort gezählt ab 0) + 1) * (dem Zeichen in f[x] durch base zugeordneter Wert)</p> <p>Ciao,</p> <p>Harry</p> https://forum.selfhtml.org/self/2002/feb/1/passwordschutz-mit-javascript/170151#m170151 LanX 2002-02-02T17:01:29Z 2002-02-02T17:01:29Z Passwordschutz mit JavaScript? <p>Holladierdgnom! ;)</p> <blockquote> <p>Zeichewert = ((Position des Zeichens im Passwort gezählt ab 0) + 1) * (dem Zeichen in f[x] durch base zugeordneter Wert)</p> </blockquote> <p>Hmm also ich bin sicher die passenden Algorithmen findet man in der mathematischen<br> Literatur um nicht das Rad neu zu erfinden aber hier nur ein paar Gedanken:</p> <p>Ich hab mal überschlagen dass du alleine mit der Information wieviel<br> der Kontrollwert mod 2 (d.h. gerade/ungerade) und mod 3 ist die Zahl<br> der möglichen Kombinationen drastisch senken kannst.</p> <p>Nehmen wir mal an das Passwort hat 3 Buchstaben, bei 60 möglichen Zeichen<br> also 60^3=216000 Möglichkeiten, nach der Restklassenanalyse mit 2,3 und 5<br> nur noch 7200!</p> <p>Aber man kann ja noch mehr Primzahlen  heranziehen, pro Primzahl<br> sinkt die Zahl der Kombinationen um 1/p !!! Dabei bin ich noch<br> von ner Gleichverteilung ausgegangen, also die Hälfte der Tabellenwerte<br> sind ungerade,je 1/3 der Tabellenwerte sind mod3 dann 0,1 oder 2 usw.</p> <p>Das kann aber nicht bei jeder Primzahl klappen, deswegen kann man sich<br> Primzahlen raussuchen die je nach Tabellenwerten und Kontrollwert,<br> ne erfolgreichere Suche erlauben.</p> <p>Zusätzlich kann man bei der Suche noch Größenabschätzungen einbeziehen<br> und "sprachlich sinnvolle" Passwörter vorziehen.</p> <p>Ich würde im Zweifelsfall doch lieber den MD5-Algo<br> <a href="http://aktuell.de.selfhtml.org/artikel/javascript/md5/index.htm" rel="nofollow noopener noreferrer">http://aktuell.de.selfhtml.org/artikel/javascript/md5/index.htm</a><br> für sowas heranziehen, da findet man auch leichter Literatur über<br> Sicherheitslücken und Mindestpasswortlänge!</p> <p>Tschüss<br>   Rolf</p> <p>PS: Das die Hashfunktion nicht eindeutig ist sieht man an "01"=23+2*535 und<br> "20"=1047+2*23 !</p>