Mailinglisten-Archive |
Hallo ! > und schwups session-hijacking .. normalerweise nimmt man dafuer nen > sniffer und laest seine robots parallel laufen .. :-) .. aber wen > es so einfach ist .. Nein, so einfach ist es nun auch wieder nicht. Neben den bereits von Arne angesprochenen Punkten wird zusaetzlich die Verbindung zwischen Session und eingeloggtem Benutzer nach einer Stunde Inaktivitaet ungueltig. Danach nuetzt Dir insofern die geklaute Session auch nichts mehr. > komischerweise wenn ich heute den link vom selben rechner aus kopieren will, > isse die per get transferierte session var "phpbar" weg und in meinem > dir/cache liegt nen schoener cookie .. mhhh .. Naja, das liegt wohl nur an Deinem Browser. ;-) Als erstes wird jedenfalls versucht, einen Cookie zu setzen. Dies geschieht beim ersten Seitenaufruf. Auf dieser Seite werden die Links mit der Session als GET-Parameter hinzugefuegt. Falls nun Cookies akzeptiert werden, wird dies beim kommenden Klick auf einen der Links erkannt, so dass alle weiteren Links keine Sessions als GET-Parameter beinhalten. Falls keine Cookies akzeptiert werden, muessen die Links jedoch auch auf allen weiteren Seiten als GET-Parameter uebermittelt werden, ansonsten waere der Zustand des Einloggens gleich wieder verloren. > will man wirklich sicheres session krims ueber http hinbekommen kommt > man nicht umhin ssl+cookie+user_agent+remote_addr daherzunehmen. alles > andere ist unsicher. man kann aber in seine daten dann weiter zu uebertragenden > variable auch noch ne art transaktion/challenge mitgeben, alles schon gehabt .. Man kann es aber auch uebertreiben. ;-) Wenn ich 'ne Applikation fuer Online-Banking schreiben wuerde, sieht dies natuerlich anders aus. Wir nutzen das normale PHP4-Session-Handling, momentan aus guten Gruenden ohne weitere Features. Natuerlich koennten wir beispielsweise auch ausschliesslich Cookies zulassen und auf GET-Parameter fuer Sessions voellig verzichten, aber dann wuerden wir alle ausschliessen, die aus welchen Gruenden auch immer keine Cookies akzeptieren. Bei der Abfrage der IP ergaebe sich die Schwierigkeit mit denjenigen Dialup-Usern, die ihren Zugang nicht permanent offen halten bzw. deren IP wechselt (etwa dank verschiedener Proxies). Links, die nach draussen fuehren, beinhalten natuerlich ebenfalls keine Session-ID. Beste Gruesse, Ralf -- :: php::bar | Der Treffpunkt für Einsteiger und Fortgeschrittene :: http://phpbar.de
php::bar PHP Wiki - Listenarchive