Ein Skript-Archiv in Forum eines Blogs. Wir versuchen ständig neue Tipps und Tricks mit Beispiel-Skripten zu erstellen, um so nach und nach ein umfangreiches Angebot an Informationen bereitzustellen. Es geht hauptsächlich um folgende Themen: Programmierung, Server, Betriebssysteme. Auch Python ist ein Hauptthema in unserem Blog und wir versuchen damit auch die Python Tipps und Tricks auf Deutsch! auszubauen.
Auch Kritik ist erwünscht. Ich habe die Seite selbst designed und in Wordpress umgesetzt.
MfG
Das SkriptArchiv
Ohne euch einen Vorwurf machen zu wollen, aber es gibt doch bereits ein umfangreiches Skriptarchiv für Python, nämlich das Cookbook von ASPN.
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
http://www.icoost.com/php/sicherer-logi ... /#more-215
Mal wieder so eine ganz schlaue Sache...
Versetz dich in die Perspektive des Angreifers, was tust du? Du ersetzt den Javascript Code einfach durch einen anderen der das Passwort nicht hasht sondern an deinen Server schickt! Die zufallsstring() Funktion ist auch kaputt da sie nur 999'999 verschiedene Ausgaben hat (für Strings bis 32 Zeichen). Abgesehen davon das MD5 selbst schon ziemlich kaputt ist. Der Javascript Code ist auch ziemlich schrecklich mit den ganzen polling Geschichten (var LoginInterval = window.setInterval(‘login2()’, 300);). Warum da eine Variable instantiiert wird ist mir auch nicht klar
Ich glaube das ist genug Kritik für Heute.
Mal wieder so eine ganz schlaue Sache...
Versetz dich in die Perspektive des Angreifers, was tust du? Du ersetzt den Javascript Code einfach durch einen anderen der das Passwort nicht hasht sondern an deinen Server schickt! Die zufallsstring() Funktion ist auch kaputt da sie nur 999'999 verschiedene Ausgaben hat (für Strings bis 32 Zeichen). Abgesehen davon das MD5 selbst schon ziemlich kaputt ist. Der Javascript Code ist auch ziemlich schrecklich mit den ganzen polling Geschichten (var LoginInterval = window.setInterval(‘login2()’, 300);). Warum da eine Variable instantiiert wird ist mir auch nicht klar
Ich glaube das ist genug Kritik für Heute.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Code: Alles auswählen
window.clearInterval(LoginInterval);
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Wegen dem ist es nicht schönerSchneiderWeisse hat geschrieben:Code: Alles auswählen
window.clearInterval(LoginInterval);

http://developer.mozilla.org/En/XMLHttp ... nous_Usage
Oder noch besser eine Library wie jQuery

[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, dort definiert man einfach Callbacks.veers hat geschrieben:Oder noch besser eine Library wie jQuery
Aber gut, wenn ich ja "Will man nun ein Login-Script mit AJAX verwirklichen, so kann man folgende sehr sichere Methode verwenden." lese, dann geht bei mir ein rotes Lämpchen an und der Skeptikermodus wird aktiviert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
So, nachdem dieser zurecht kritisierte Artikel hier von mir stammt,
melde ich mich auch mal zu Wort.
und deshalb habe ich lieber auf eine Library verzichtet, um das Thema nicht unnötig schwieriger zu machen.
und im Vergleich zur unverschlüsselten Übertragung des Passworts ist es bestimmt auch sicherer.
Ganz sicher ist es, wie ziemlich viele Methoden, bei weitem nicht.
Ich hoffe, ich bin der Kritik gerecht geworden, der überarbeitete Artikel ist hier zu finden.
MfG
melde ich mich auch mal zu Wort.
Wie meinst du das?Versetz dich in die Perspektive des Angreifers, was tust du? Du ersetzt den Javascript Code einfach durch einen anderen der das Passwort nicht hasht sondern an deinen Server schickt!
Stimmt, ich habe sie neu geschrieben.Die zufallsstring() Funktion ist auch kaputt da sie nur 999'999 verschiedene Ausgaben hat (für Strings bis 32 Zeichen)
Ich muss ganz ehrlich sagen, ich weiß selbst nicht warum ich das da so kompliziert gemacht habe, ich habe es aber schon geändert.Der Javascript Code ist auch ziemlich schrecklich mit den ganzen polling Geschichten (var LoginInterval = window.setInterval(‘login2()’, 300);). Warum da eine Variable instantiiert wird ist mir auch nicht klar
Ja, das wäre sicher besser, aber der Artikel erklärt das Verfahren selbst,Oder noch besser eine Library wie jQuery Wink
und deshalb habe ich lieber auf eine Library verzichtet, um das Thema nicht unnötig schwieriger zu machen.
Kann ich gut verstehen, allerdings habe ich ja nur behauptet, es sei sehr sicher,Aber gut, wenn ich ja "Will man nun ein Login-Script mit AJAX verwirklichen, so kann man folgende sehr sichere Methode verwenden." lese, dann geht bei mir ein rotes Lämpchen an und der Skeptikermodus wird aktiviert.
und im Vergleich zur unverschlüsselten Übertragung des Passworts ist es bestimmt auch sicherer.
Ganz sicher ist es, wie ziemlich viele Methoden, bei weitem nicht.
Ich hoffe, ich bin der Kritik gerecht geworden, der überarbeitete Artikel ist hier zu finden.
MfG
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
@foidepp: Wenn du auch noch verhindern willst, das man mit einem geklauten SQL-Dump was anfangen kann, dann schau dir mal meine Lösung an: http://www.pylucid.org/_goto/83/pseudo-code/
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Wenn ich als Angreifer Kontrolle über einen Punkt im Datenweg habe - kann ich da Daten Manipulieren. Dann kann ich dein Login Script ganz einfach mit einem anderen ersetzen welches die noch unverschlüsselten Daten auf meinen Server loggtfoidepp hat geschrieben:So, nachdem dieser zurecht kritisierte Artikel hier von mir stammt,
melde ich mich auch mal zu Wort.
Wie meinst du das?Versetz dich in die Perspektive des Angreifers, was tust du? Du ersetzt den Javascript Code einfach durch einen anderen der das Passwort nicht hasht sondern an deinen Server schickt!

Viel besser ist die auch nicht. Grundsätzlich hast du eine 1:100 Chance das der hash d41d8cd98f00b204e9800998ecf8427e sein wird. Dann eine 1:99 Chance das er auf einem Zeichen von 0-127 basiert usw.foidepp hat geschrieben:Stimmt, ich habe sie neu geschrieben.

[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Dagegen helfen nur Zertifikate die Ordnungsgemäß signiert sind und der Browser überprüfen kann.veers hat geschrieben:Wenn ich als Angreifer Kontrolle über einen Punkt im Datenweg habe - kann ich da Daten Manipulieren. Dann kann ich dein Login Script ganz einfach mit einem anderen ersetzen welches die noch unverschlüsselten Daten auf meinen Server loggt
Dennoch bin ich der Meinung das es allemal besser ist einen Hash durchs Netz zu schicken, als Klartextpasswörter die man mit wesentlich weniger Kriminelle Energie ablauschen kann.
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Du gewinnst ähnlich viel Sicherheit wenn du die Formfelder anstelle von Username und Passwort, Hans und Peter nennst. Sie werden beim großangelegten automatischen Passwortsniffen nicht gefunden. Bei einem gezielten Angriff sind sie jedoch nutzlos.jens hat geschrieben:Dennoch bin ich der Meinung das es allemal besser ist einen Hash durchs Netz zu schicken, als Klartextpasswörter die man mit wesentlich weniger Kriminelle Energie ablauschen kann.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Wer sagte da noch, security by obscurity sei das Grundübel der Kryptologie? Ach ja, richtig, dass war irgend so ein unwichtiger Kerl namens Bruce Schneier in seinem "Grundlagenwerk". Aber hey, seit der Erstauflage von Applied Cryptography sind fast 15 Jahre vergangen, da kann das ja bestimmt nicht mehr so ganz richtig sein ...jens hat geschrieben:Dennoch bin ich der Meinung das es allemal besser ist einen Hash durchs Netz zu schicken, als Klartextpasswörter die man mit wesentlich weniger Kriminelle Energie ablauschen kann.
PS: Bitte nicht die Ironie übersehen!
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ist es schon Zeit für eine Neuauflage des MD5-Login-Threads?lunar hat geschrieben:Wer sagte da noch, security by obscurity sei das Grundübel der Kryptologie?jens hat geschrieben:Dennoch bin ich der Meinung das es allemal besser ist einen Hash durchs Netz zu schicken, als Klartextpasswörter die man mit wesentlich weniger Kriminelle Energie ablauschen kann.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Nervt euch ein Man in the middle Angriff?
Wenn ja macht folgendes:
Der Benutzer loged sich ein mit Name und Passwort, ganz normal Plain Text.
Dann kommt auf der nächsten Seite:
X Steht für eine Zahl, die aber nicht auf der Seite zusehen ist, sondern die der Benutzer bei der Anmeldung zugewiesen bekommen hat.
[ ] Steht für ein Eingabefeld wo eine Zahl bzw. Buchstabe eingegeben wird
Die abgefragten leeren Felder wechseln, je erfolgreichen Login, je IP, und oder Tag. Was auch immer (aber nicht bei jedem Seitenaufruf, logisch)
So wird einem "Dieb" bei einem MitM oder einfach beim "über die Schulter" gucken die langzeitliche Nutzung der Daten geraubt.
Bei intelligenten Nutzern, oder welchen die immer einen Taschenrechner zur Hand haben, könnt ihr sie auch eine mathematische Funktion eingeben lassen, die z.B ein "x" enthalten muss und ihr sagt ihnen beim Login ein X Wert und sie müssen das Ergebnis eintippen zu ihrer eigenen Funktion, das wäre was oder ?
mfG Lars
Wenn ja macht folgendes:
Der Benutzer loged sich ein mit Name und Passwort, ganz normal Plain Text.
Dann kommt auf der nächsten Seite:
Code: Alles auswählen
X[]X[][]XXXXX
[ ] Steht für ein Eingabefeld wo eine Zahl bzw. Buchstabe eingegeben wird
Die abgefragten leeren Felder wechseln, je erfolgreichen Login, je IP, und oder Tag. Was auch immer (aber nicht bei jedem Seitenaufruf, logisch)
So wird einem "Dieb" bei einem MitM oder einfach beim "über die Schulter" gucken die langzeitliche Nutzung der Daten geraubt.
Bei intelligenten Nutzern, oder welchen die immer einen Taschenrechner zur Hand haben, könnt ihr sie auch eine mathematische Funktion eingeben lassen, die z.B ein "x" enthalten muss und ihr sagt ihnen beim Login ein X Wert und sie müssen das Ergebnis eintippen zu ihrer eigenen Funktion, das wäre was oder ?

mfG Lars
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Das erinnert mich an http://projecteuler.net/index.php?secti ... lems&id=79 *g*
Wobei du es noch etwas einfacher machst.
Wobei du es noch etwas einfacher machst.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Verwendest du jedes Passwort nur einmal? Wenn nicht, dann freut sich der Angreifer über das Passwort für Mail-Account, MyFace-Account oder wofür auch immer du dieses Passwort noch verwendet hast.Sr4l hat geschrieben:Der Benutzer loged sich ein mit Name und Passwort, ganz normal Plain Text.
Man kann auch einfach SSL/TLS nutzen.Bei intelligenten Nutzern, oder welchen die immer einen Taschenrechner zur Hand haben, könnt ihr sie auch eine mathematische Funktion eingeben lassen, die z.B ein "x" enthalten muss und ihr sagt ihnen beim Login ein X Wert und sie müssen das Ergebnis eintippen zu ihrer eigenen Funktion, das wäre was oder ?
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Gibt es eine Möglichkeit einfache Benutzerpasswörter sicher zumachen?lunar hat geschrieben:Verwendest du jedes Passwort nur einmal? Wenn nicht, dann freut sich der Angreifer über das Passwort für Mail-Account, MyFace-Account oder wofür auch immer du dieses Passwort noch verwendet hast.Sr4l hat geschrieben:Der Benutzer loged sich ein mit Name und Passwort, ganz normal Plain Text.
HTTPS ohne ein teuer gekauftest Zertifikat? Dann bekommst du irgendwann zu hören: "Habe mich gestern Abend mal auf Firmen e-Mail eingeloggt und der hat mich doch gleich gewarnt das die Seite nicht sicher ist. Ich wusste schon immer das unsere Administrator ne Flachschippe ist."lunar hat geschrieben:Man kann auch einfach SSL/TLS nutzen.Bei intelligenten Nutzern, oder welchen die immer einen Taschenrechner zur Hand haben, könnt ihr sie auch eine mathematische Funktion eingeben lassen, die z.B ein "x" enthalten muss und ihr sagt ihnen beim Login ein X Wert und sie müssen das Ergebnis eintippen zu ihrer eigenen Funktion, das wäre was oder ?

Die Seite ist eine echter Freizeitvernichter.veers hat geschrieben: http://projecteuler.net/

-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
CACert existiert. Ich denke immer noch, dass schließlich deren Zertifikate über kurz oder lang in die Browser aufgenommen werden.Sr4l hat geschrieben:HTTPS ohne ein teuer gekauftest Zertifikat? Dann bekommst du irgendwann zu hören: "Habe mich gestern Abend mal auf Firmen e-Mail eingeloggt und der hat mich doch gleich gewarnt das die Seite nicht sicher ist. Ich wusste schon immer das unsere Administrator ne Flachschippe ist."
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Eine Firma sollte a) ein eigenes Root Zertifikat haben, b) sollte sie die 100€ für ein Zertifikat noch verkraften können.Sr4l hat geschrieben:HTTPS ohne ein teuer gekauftest Zertifikat? Dann bekommst du irgendwann zu hören: "Habe mich gestern Abend mal auf Firmen e-Mail eingeloggt und der hat mich doch gleich gewarnt das die Seite nicht sicher ist. Ich wusste schon immer das unsere Administrator ne Flachschippe ist."lunar hat geschrieben:Man kann auch einfach SSL/TLS nutzen.Bei intelligenten Nutzern, oder welchen die immer einen Taschenrechner zur Hand haben, könnt ihr sie auch eine mathematische Funktion eingeben lassen, die z.B ein "x" enthalten muss und ihr sagt ihnen beim Login ein X Wert und sie müssen das Ergebnis eintippen zu ihrer eigenen Funktion, das wäre was oder ?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann