power-box.de
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 21.03.2005, 14:19   #1
TP-Supporter
 
Registriert seit: Feb 2005
Driver ist auf einem guten Weg

Ist mein Login-Script sicher?


Hallo,
ich hab vor einiger Zeit mal ein Login-Script programmiert und das inzwischen schon auf mehreren Seite angewendet. Hauptsächlich als Content Manager. Jetzt würde mich aber doch mal interessieren, ob das Script sicher ist. Ich poste jetzt mal nicht den Quellcode, sonder schreib einfach, was wie abgefragt wird.

Die Loginseite
Die Seite ist halt ein Standartformular mit Nick und Passwort, dass dann an eine Verarbeitungsseite geschickt wird.

Die Verarbeitungsseite
Hier wird erstmal der Datensatz gesucht, bei dem der Nick mit dem eingegebenen Nick übereinstimmt. Dann werden die Passwörter abgeglichen (mit md5 verschlüsselt). Wenn das übereinstimmt, wird eine Session gestartet, in der der eingegebene Nick, das mit md5 konvertierte Passwort, die IP und die Session Id eingetragen werden. Dann wird noch das Session Id Feld und das IP Feld in der Datenbank mit den neuen Daten aktualisiert. Der User wird danach zur Startseite weitergeleitet.

Die Startseite
Hier wird wieder der Datensatz mit dem in der Session mitgelieferten Nick gesucht. Diesmal werden Nick, Passwort, IP und Session ID abgeglichen und nur wenn das alles stimmt, wird der Inhalt angezeigt.

Ich hoffe, dass das jetzt verständlich war. Ich bin der Meinung, dass es schon ziemlich sicher ist, da man die Session Daten ja nicht ändern kann, oder ist das Script vielleicht totaler Käse und unsicher?
Gruß, Driver
Driver ist offline   Mit Zitat antworten


Alt 21.03.2005, 14:29   #2
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Ist es MySQL-Injection geschützt?

Wenn Du uns eine Demo online zeigst, dann versuchen wir es zu knacken
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 21.03.2005, 14:32   #3
TP-Supporter
 
Registriert seit: Feb 2005
Driver ist auf einem guten Weg
Zitat:
Zitat von Boris
Ist es MySQL-Injection geschützt?
Hmm? Was ist das? Hab ich noch nie von gehört.
Zitat:
Zitat von Boris
Wenn Du uns eine Demo online zeigst, dann versuchen wir es zu knacken
Moment, muss mal schauen, ob ich ncoh eins finde, was ich nicht mehr brauche...
Driver ist offline   Mit Zitat antworten
Alt 21.03.2005, 14:33   #4
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Das klingt sehr gut. Wenn die konkrete Implementierung keine Schlupflöcher hat, dürfte das sicher sein. Mein eigenes Login-System funktioniert genauso, nur dass bei mir die Checks von Session-ID und IP-Adresse fehlen.

Ich bin mir auch nicht sicher, ob man die braucht...könnte mir vorstellen, dass der Session-Handler von PHP das schon eingebaut hat. Das werd ich mal herausfinden, und falls es nicht so ist, solche Checks bei meinem System auch einbauen - danke für den Tipp!
seb ist offline   Mit Zitat antworten
Alt 21.03.2005, 14:35   #5
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von Boris
Ist es MySQL-Injection geschützt?
..da spricht wohl wer aus Erfahrung, was?

Was bei dem Loginscript evtl. noch zu checken ist: Wie wird der Status gehalten? Also in welcher Variable steht "user ist gültig". Wenn soetwas existiert, dann muss die variable IMMER gesetzt werden.. also true ODER false - nicht nur bei "Erfolg". Falls nicht hat man, vorausgesetzt es sind die register_globals auf on gesetzt, die möglichkeit den status per Get-Parameter zu verändern

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 21.03.2005, 14:53   #6
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
MySQL-Injection: Wenn systembedingt auf dem Server die magic_quotes aus sind, und Du Dich auch nicht darum kümmerst, dass bestimmte Zeichen (wie " und ' ) auskommentiert werden (mit addslashes), dann kann man das Loginsystem ganz einfach aushebeln, indem man MySQL-Angaben als Username und Passwort angibt.
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 21.03.2005, 14:58   #7
TP-Supporter
 
Registriert seit: Feb 2005
Driver ist auf einem guten Weg
Zitat:
Zitat von Boris
MySQL-Injection: Wenn systembedingt auf dem Server die magic_quotes aus sind, und Du Dich auch nicht darum kümmerst, dass bestimmte Zeichen (wie " und ' ) auskommentiert werden (mit addslashes), dann kann man das Loginsystem ganz einfach aushebeln, indem man MySQL-Angaben als Username und Passwort angibt.
Naja, das würde ja nur beim Nick Feld gehen, da das Passwort Feld ja mit md5 verschlüsselt wird. kann man das nicht einfach unterbinden, indem man für den Nick eine maximale Länge angibt? Ich kenn nämlich keinen MySQL Befehl mit 10 Zeichen oder so.
Driver ist offline   Mit Zitat antworten
Alt 21.03.2005, 15:02   #8
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
tipp doch einfach mal ein single und/oder ein doublequote (' oder ") in dein Eingabefeld ein. Sollten diese nicht escaped werden, dann wirds nen MySQL-Error geben.

Gruss
Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 21.03.2005, 15:08   #9
TP-Supporter
 
Registriert seit: Feb 2005
Driver ist auf einem guten Weg
Zitat:
Zitat von Stuck Mojo
tipp doch einfach mal ein single und/oder ein doublequote (' oder ") in dein Eingabefeld ein. Sollten diese nicht escaped werden, dann wirds nen MySQL-Error geben.

Gruss
Jan
Hmm, ok. Da hab ich wohl an etwas nicht gedacht. Wie beheb ich das dann? einfach addslashes($nick) bzw. $_POST['nick'] oder was ganz anderes? Muesste je eigentlich nur dazu dienen, dass sich keiner einhacken kann, denn diejenigen, die Zugang haben sollen, haben keine Sonerzeichen im Namen.
Driver ist offline   Mit Zitat antworten
Alt 21.03.2005, 17:10   #10
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Hmmm...anscheinend hat das Session-System von PHP tatsächlich keinen eingebauten IP-Adressen-Check.

D.h., man könnte theoretisch die Session auf einem anderen Computer "klauen".

Kann das vielleicht jemand von euch bestätigen?
seb ist offline   Mit Zitat antworten
Alt 21.03.2005, 17:13   #11
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Zitat:
Zitat von seb
Hmmm...anscheinend hat das Session-System von PHP tatsächlich keinen eingebauten IP-Adressen-Check.

D.h., man könnte theoretisch die Session auf einem anderen Computer "klauen".

Kann das vielleicht jemand von euch bestätigen?
Ja, das ist so.
Wenn eine IP-Abhängigkeit gegeben wäre dann wäre das Ergebnis aber auch katastrophal: AOL-User haben wechselnde Adressen (bei jedem Klick) und Anfragen verschiedener User aus einem Firmennetzwerk über einen Proxy gestellt haben nun wieder die gleiche IP. Die Unterscheidung ginge in die Hose.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 21.03.2005, 17:28   #12
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Zitat:
AOL-User haben wechselnde Adressen (bei jedem Klick)
Das hab ich auch grad eben gelesen...was ein Kack

Interessanter Artikel zum Thema: http://www.sitepoint.com/blog-post-view.php?id=156260

Ich merke, da gibt's noch manches, was ich bei meinem Login-System bisher nicht beachtet hab...aber leider auch keine wirklich sichere und gleichzeitig nicht über-restriktive (Problem mit wechselnden IP-Adressen bei AOL) Schutzmöglichkeit.
seb ist offline   Mit Zitat antworten
Alt 21.03.2005, 17:31   #13
TP-Supporter
 
Registriert seit: Feb 2005
Driver ist auf einem guten Weg
Das heißt dann also, dass mein Script für AOL User unbrauchbar ist?!
Driver ist offline   Mit Zitat antworten
Alt 21.03.2005, 18:04   #14
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Zitat:
Zitat von Driver
Das heißt dann also, dass mein Script für AOL User unbrauchbar ist?!
Wenn Du eins und eins zusammenzählst, dann ist das so.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 21.03.2005, 18:18   #15
TP-Supporter
 
Registriert seit: Feb 2005
Driver ist auf einem guten Weg
So ein Mist, warum macht denn AOL sowas? Gibt es denn eine Möglichkeit mit PHP den Anbieter eines Users rauszubekommen? Wahrscheinlich nicht Wenn ich die IP Abfrage weglasse, klappt es aber dann Problemlos, also AOL verändert nciht die Session ID?!
Driver ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Ist mein Login-Script sicher? Ist mein Login-Script sicher?
« Suchfunktion pimpen! | Brauch ein login-script »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67