Portal > Foren > PHP > PHP-Programmierung > Sicherheitsrisiko?
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 14.04.2006, 19:37 Nach oben    #1
...möp...
 
Benutzerbild von Creativ
 
Registriert seit: 10.10.2005
Ort: Wolfsburg
Beiträge: 78
Standard Sicherheitsrisiko?

Hi,
Ich habe mal eine Frage, und zwar aus einem bestimmten grund (dauert zu lang zu erklaeren und ist eigentlich auch egal) muss ich die logindaten, also username und userid immer in einer session speichern.
Aber damit man noch lange eingeloggt bleiben kann, muss ich das also auch in einem Cookie speichern.

Und jetzt meine Frage
Ist es ein Sicherheitsrisiko, wenn ich jetzt die userid und den usernamen in einem Cookie speicher, und dann beim aufrufen der Seite die daten vom Cookie in eine Session reinschreiben?

Koennte das ein Sicherheitsrisiko darstellen? also koennte man sich dann z.B. mit einem anderen usernamen einloggen?
Creativ ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.04.2006, 19:42 Nach oben    #2
Jay
Gast
 
Beiträge: n/a
Standard

1. Ich verstehe den Sinn von deinem Script nicht. Du solltest dir mal die Grundlagen ansehen.

2. Ich verstehe deine Frage nicht. Ist der User automatisch eingeloggt wenn er das entsprechende Cookie hat?
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.04.2006, 19:46 Nach oben    #3
...möp...
 
Benutzerbild von Creativ
 
Registriert seit: 10.10.2005
Ort: Wolfsburg
Beiträge: 78
Standard

ok, also wenn man sich einloggt wird ein Cookie erstellt und eine Session.
Da die session ja zerstoert wird wenn man den browser schliesst usw. wuerde man ja auch ausgeloggt werden. Deshalb schreibe ich die userid und den usernamen jetzt noch in einen cookie, da der ja erhalten wird.
Und wenn man dann das naechste mal die seite oeffnet, wird kontrolliert ob man die cookies hat, und wenn ja wird die session wieder erstellt und man ist eingeloggt.

Jetzt aber halt meine frage, ist da ein sicherheitsrisiko?

Oder wie sonst koennte ich das machen, das man eingeloggt bleibt, auch wenn man den browser schliesst usw.?

Geändert von Creativ (14.04.2006 um 19:49 Uhr).
Creativ ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.04.2006, 20:05 Nach oben    #4
Jay
Gast
 
Beiträge: n/a
Standard

Ja es ist ein Sicherheitsrisiko.
Weil jeder der so ein Cookie besitzt automatisch eingeloggt ist.

Wie kann man das anders lösen?
Jedes mal wenn der User sich einloggt erstellst du einfach ein Sicherheitswort und hashed es mit md5. Dann nimmst du noch den Benutzernamen und hashed diesen. Dann verbindest du die beiden Hashsummen und schneidest zB 40 Zeichen aus.
Das speicherst du in ein Cookie.

Das ist jetzt nur ein Beispiel. Zusätzlich könntest du noch einen Hash aus diversen browseräbhängigen $_SERVER Variablen erstellen und diesen in der DB speichern.

Schließt der Benutzer jetzt den Browser und besucht deine Seite wieder so checkst du ob das Cookie vorhanden ist. Schaust ob die Hashsumme im Cookie passt und checkst ob die Hashsummer der Browservariablen stimmen.
Dadurch verhinderst du zusätzlich noch, dass jemand das Cookie stielt und selbst verwendet, da diese von vielen Faktoren beeinflusst werden (Sprache, Betriebssystem, Browsertyp, Browserversion ...).
Ein Beispiel für eine browserabhängige Variable wäre $_SERVER['HTTP_USER_AGENT']
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.04.2006, 00:57 Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von schifti
 
Registriert seit: 06.12.2004
Ort: Bayern
Beiträge: 185
Standard

Wobei man bei $_SERVER['HTTP_USER_AGENT'] drauf achten sollte, das kein böser Code drinn steht.
Deswegen selbst User_Agent mit htmlentities und strip_tags checken...
Geht ganz einfach mit dem FF Extension "User Agent Switcher"

Ich kann das neue Buch "PHP-Sicherheit"
ISBN: 3898643697

(ca. 280 Seiten), 36€ vom dpunkt Verlag nur empfehlen (Grundkenntnisse sind Voraussetzung)

Geändert von Jann Hendrik (15.04.2006 um 10:31 Uhr). Grund: amazon-partnerprogramm-link hinzugefügt. :)
schifti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.04.2006, 13:13 Nach oben    #6
Jay
Gast
 
Beiträge: n/a
Standard

Ja is klar, das solltest du bei allen $_SERVER Variablen machen, weil du nie weißt ob sie nicht von außen verändert werden können oder nicht.

Beispiel $_SERVER['SERVER_NAME']:
Grundsätzlich kann SERVER_NAME nicht verändert d.h. es besteht kein Risiko.
Ist allerdings HTTP_HOST nicht gesetzt oder leer so wird SERVER_NAME vom HTTP Header entnommen. und diesen zu verändern ist ja wohl das einfachste.

Deshalb sollte man alle Server Variablen als "Input" einstufen und mit zB htmlentities bearbeiten.

@schifti
Danke. Ich werds mir mal ansehen .

Das ist auch ziemlich gut:

ISBN: 059600656X



Im Sommer kann ich dann das empfehlen:

ISBN: 0764596349


MfG Fat Tony

Geändert von Jay (18.04.2006 um 12:23 Uhr).
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.04.2006, 11:46 Nach oben    #7
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Zitat:
Zitat von Fat Tony
Beispiel $_SERVER['SERVER_NAME']:
Grundsätzlich kann SERVER_NAME nicht verändert d.h. es besteht kein Risiko.
Ist allerdings HTTP_HOST nicht gesetzt oder leer so wird SERVER_NAME vom HTTP Header entnommen. und diesen zu verändern ist ja wohl das einfachste.
Der Form halber kann man obiges so nicht stehen lassen, denn auch SERVER_NAME lässt sich fälschen und nicht alle Webserver sind so sauber konfiguriert, dass sie dann alles abfangen. Das sicherste ist immer, wenn man auch $_SERVER ausschliesslich in die Kategorie "Potentiell gefährlich" einstuft, und sich entsprechend vor bösswilligen Auswirkungen auf SQLs schützt.
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

Erweiterte Suche

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 aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Das Sicherheitsrisiko "Mitarbeiter", by Telepolis Ben Interessante Diskussionsthemen 1 12.06.2006 13:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:49 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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