Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 21.01.2004, 14:36 Titel: php- Sicherheit |
|
|
Hi,
im moment prüfe ich jedesmal wenn jemand eingeloggt ist, ob das pwd in der Session mit dem Passwort in der DB übereinstimmt, um manipulationen zu vermeiden. Dabei geht natürlich wertvolle Zeit verloren. Kann man überhaupt die Variable irgendwie manipulieren, wenn ich eine Variable per $_SESSION[ID] abfrage?
mfg. BLD _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
me Junior JLI'ler
Anmeldedatum: 10.09.2003 Beiträge: 60
Medaillen: Keine
|
Verfasst am: 21.01.2004, 15:06 Titel: |
|
|
Ich würd sagen, die Sicherheitslücke liegt nicht an deinem Speicherort, sondern an der Übermittlung deiner Session. Dies findet ja entweder per Url, get, post oder per Cookie statt. Also nem Cookie würd ich keine Passwörter anvertrauen (speziell keine DB-Passwörter).
Ich könnt mir schon vorstellen, das findige Hacker die Session sniffen, und somit dann auch Zugriff bekommen. Auslesen können sie aber da nix, solange sie kein eigenes Script auf dem Server haben.
JUST MY *HUMBLE* OPINION. NO GUARANTEE!!! _________________ If something is stupid and it works, it ain't stupid! |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 21.01.2004, 15:23 Titel: |
|
|
Mit einem Passwort das so verschlüsselt wurde kann eine Cracker nichts mehr anfangen:
$PWD=crypt($PWD, CRYPT_STD_MD5);
$PWD=crypt($PWD, CRYPT_STD_DES);
, darum könnte ich es auch in den Cookies speichern.
Es kann also niemand mir irgendwie die Variable verändern? _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 21.01.2004, 16:18 Titel: |
|
|
BlackLordofDragons hat Folgendes geschrieben: | ...Kann man überhaupt die Variable irgendwie manipulieren, wenn ich eine Variable per $_SESSION[ID] abfrage?... |
Sessions (inkl. ihrer Variablen) werden auf dem Server gespeichert! Das einzigste, was auf dem Client per Cookie gespeichert wird ist die Session-ID. Hat der Client Cookies deaktiviert, dann wird die ID an jede URL im Quelltext angehängt (per .SID). Also ist das einzigste, was ein Client manipulieren könnte diese ID, was ihm aber eben nichts bringen würde.
Somit brauchst Du nicht jedesmal eine Überprüfung mit der Datenbank durchführen, wenn Du es einmal in der Session vermerkst. |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 21.01.2004, 16:20 Titel: |
|
|
Naja, würde ich $_SESSION[ID] nicht benutzen könnte er mit ?id=1423 die Id fälschen. _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 21.01.2004, 16:23 Titel: |
|
|
BlackLordOfDragons hat Folgendes geschrieben: | Naja, würde ich $_SESSION[ID] nicht benutzen könnte er mit ?id=1423 die Id fälschen. |
Ja und?
Was soll ihm das bringen? Unter einer anderen Session-ID wird er ja keinen Zugriff auf die gewünschten Session-Informationen bekommen und somit nicht mit dieser Session arbeiten können.
Oder hab ich dich jetzt falsch verstanden? Wie identifizierst Du einen User, per Session, oder per ID an der URL? |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 21.01.2004, 16:28 Titel: |
|
|
Wenn er das macht ist er jetzt ja der User, wenn ich das nicht überprüfe, und so könnte er sich Administratorrechte holen, wenn ich das nicht per sessionregister($ID) erstelle und dann per $ID wieder auslese. Ich habe eigentlich gefragt ob man auch wenn ich $_SESSION[ID] benutzte das irgendwie verändern kann. _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 21.01.2004, 16:59 Titel: |
|
|
Verwechselst Du jetzt die Session-ID mit einer von Dir vergebenen ID per sessionregister($ID) ???
Eine Variable, die Du in eine Session ablegst (per sessionregister) kann kein Client ändern! Grund: siehe mein erster Post ganz oben.
BlackLordofDragons hat Folgendes geschrieben: | ...Ich habe eigentlich gefragt ob man auch wenn ich $_SESSION[ID] benutzte das irgendwie verändern kann.
... |
NEIN, der Client kann die Variable ID nicht manipulieren! |
|
Nach oben |
|
|
|