Seite 1 von 2

Das SkriptArchiv

Verfasst: Dienstag 26. August 2008, 14:11
von nemomuk
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

Verfasst: Dienstag 26. August 2008, 17:22
von lunar
Ohne euch einen Vorwurf machen zu wollen, aber es gibt doch bereits ein umfangreiches Skriptarchiv für Python, nämlich das Cookbook von ASPN.

Verfasst: Dienstag 26. August 2008, 23:27
von nemomuk
naja, es gibt alles doppelt und dreifach im Internet... das war uns schon klar. Aber danke für dein Feedback!

Verfasst: Mittwoch 27. August 2008, 07:52
von veers
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.

Verfasst: Mittwoch 27. August 2008, 08:52
von nemomuk

Code: Alles auswählen

window.clearInterval(LoginInterval);

Verfasst: Mittwoch 27. August 2008, 09:00
von veers
SchneiderWeisse hat geschrieben:

Code: Alles auswählen

window.clearInterval(LoginInterval);
Wegen dem ist es nicht schöner :roll:

http://developer.mozilla.org/En/XMLHttp ... nous_Usage

Oder noch besser eine Library wie jQuery ;)

Verfasst: Mittwoch 27. August 2008, 09:35
von Leonidas
veers hat geschrieben:Oder noch besser eine Library wie jQuery ;)
Ja, dort definiert man einfach Callbacks.

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.

Verfasst: Dienstag 9. September 2008, 07:05
von foidepp
So, nachdem dieser zurecht kritisierte Artikel hier von mir stammt,
melde ich mich auch mal zu Wort.
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!
Wie meinst du das?
Die zufallsstring() Funktion ist auch kaputt da sie nur 999'999 verschiedene Ausgaben hat (für Strings bis 32 Zeichen)
Stimmt, ich habe sie neu geschrieben.
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 muss ganz ehrlich sagen, ich weiß selbst nicht warum ich das da so kompliziert gemacht habe, ich habe es aber schon geändert.
Oder noch besser eine Library wie jQuery Wink
Ja, das wäre sicher besser, aber der Artikel erklärt das Verfahren selbst,
und deshalb habe ich lieber auf eine Library verzichtet, um das Thema nicht unnötig schwieriger zu machen.
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.
Kann ich gut verstehen, allerdings habe ich ja nur behauptet, es sei sehr sicher,
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

Verfasst: Dienstag 9. September 2008, 08:48
von jens
@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/

Verfasst: Dienstag 9. September 2008, 09:26
von veers
foidepp hat geschrieben:So, nachdem dieser zurecht kritisierte Artikel hier von mir stammt,
melde ich mich auch mal zu Wort.
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!
Wie meinst du das?
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 ;)
foidepp hat geschrieben:Stimmt, ich habe sie neu geschrieben.
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. ;)[/quote]

Verfasst: Dienstag 9. September 2008, 09:31
von jens
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 ;)
Dagegen helfen nur Zertifikate die Ordnungsgemäß signiert sind und der Browser überprüfen kann.

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.

Verfasst: Dienstag 9. September 2008, 09:36
von veers
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.
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.

Verfasst: Dienstag 9. September 2008, 17:11
von lunar
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.
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 ...

PS: Bitte nicht die Ironie übersehen!

Verfasst: Dienstag 9. September 2008, 17:27
von Leonidas
lunar hat geschrieben:
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.
Wer sagte da noch, security by obscurity sei das Grundübel der Kryptologie?
Ist es schon Zeit für eine Neuauflage des MD5-Login-Threads?

Verfasst: Dienstag 9. September 2008, 19:02
von Sr4l
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:

Code: Alles auswählen

X[]X[][]XXXXX
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

Verfasst: Dienstag 9. September 2008, 19:24
von veers
Das erinnert mich an http://projecteuler.net/index.php?secti ... lems&id=79 *g*
Wobei du es noch etwas einfacher machst.

Verfasst: Dienstag 9. September 2008, 19:58
von lunar
Sr4l hat geschrieben:Der Benutzer loged sich ein mit Name und Passwort, ganz normal Plain Text.
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.
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 ? ;-)
Man kann auch einfach SSL/TLS nutzen.

Verfasst: Dienstag 9. September 2008, 21:22
von Sr4l
lunar hat geschrieben:
Sr4l hat geschrieben:Der Benutzer loged sich ein mit Name und Passwort, ganz normal Plain Text.
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.
Gibt es eine Möglichkeit einfache Benutzerpasswörter sicher zumachen?
lunar hat geschrieben:
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 ? ;-)
Man kann auch einfach SSL/TLS nutzen.
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." ;-)

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

Verfasst: Dienstag 9. September 2008, 21:27
von Leonidas
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." ;-)
CACert existiert. Ich denke immer noch, dass schließlich deren Zertifikate über kurz oder lang in die Browser aufgenommen werden.

Verfasst: Dienstag 9. September 2008, 22:46
von veers
Sr4l hat geschrieben:
lunar hat geschrieben:
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 ? ;-)
Man kann auch einfach SSL/TLS nutzen.
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." ;-)
Eine Firma sollte a) ein eigenes Root Zertifikat haben, b) sollte sie die 100€ für ein Zertifikat noch verkraften können.