Das SkriptArchiv

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

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
Zuletzt geändert von nemomuk am Mittwoch 25. Januar 2012, 13:20, insgesamt 1-mal geändert.
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.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

naja, es gibt alles doppelt und dreifach im Internet... das war uns schon klar. Aber danke für dein Feedback!
Benutzeravatar
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.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Code: Alles auswählen

window.clearInterval(LoginInterval);
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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 ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
foidepp
User
Beiträge: 2
Registriert: Donnerstag 14. August 2008, 19:32

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
Benutzeravatar
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/

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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]
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
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!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
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:

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
Benutzeravatar
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.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
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.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

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. ;-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Antworten