Allwissendes Karmameerschweinchen!
hi
ich habe mir mal diesen beitrag durchgelesen: MD5-Hashing mit JavaScript
darin geht es um eine javascript seitige verschlüsselung vom passwort per md5 hash.
jetzt habe ich in mehreren foren gelesen, dass es ja egal sei ob ich clientseitig das passwort mit nem md5 hash verschlüssel und diesen hash dann an den server schicke
oder das passwort in plaintext an den server schicke, da beides ja gesnifft und somit auch benutzt werden kann.
wenn ich nun folgendes beispiel habe:
---
eine einfache homepage basierend auf php, javascript und ner mysql datenbank mit user tabelle.
mein loginformular wird per post abgeschickt.
per javascript verändere ich das passwort vorher mit md5 und schick es erst dann an meine datenbank_user_login.php
meine datenbank_user_login.php fragt sessionseitig ab, von welcher seite aus die post variablen kommen. kommen sie von einer unbekannten so wird geblockt, andernfalls gehts mit ner datenbankverbindung weiter.
dann wird die verbindung gemacht und das select statement "select username from user where username = 'bla' and passwort='meinverschlüsseltespasswort'
---
ist das nicht schon sicher genug? ein hacker kann mit dem md5 hash nichts anfangen, weil er sich nicht auf die datenbank verbinden kann (hoffe ich mal, wenn ich per mysql_connect verbinde... ).
versucht er nun meine datenbank_user_login.php direkt aufzurufen oder ein fremdes formular zu benutzen, wird geblockt.
habe ich nun nen denkfehler oder wo ist hier die schwachstelle?
wenn das wirklich nicht sicher sein sollte, muss ich dann zwangsläufig auf https bzw. htacces zugreifen oder gibts noch ne ähnliche lösung wie die oben beschriebene?
dank und gruß
afr0
ich habe mir mal diesen beitrag durchgelesen: MD5-Hashing mit JavaScript
darin geht es um eine javascript seitige verschlüsselung vom passwort per md5 hash.
jetzt habe ich in mehreren foren gelesen, dass es ja egal sei ob ich clientseitig das passwort mit nem md5 hash verschlüssel und diesen hash dann an den server schicke
oder das passwort in plaintext an den server schicke, da beides ja gesnifft und somit auch benutzt werden kann.
wenn ich nun folgendes beispiel habe:
---
eine einfache homepage basierend auf php, javascript und ner mysql datenbank mit user tabelle.
mein loginformular wird per post abgeschickt.
per javascript verändere ich das passwort vorher mit md5 und schick es erst dann an meine datenbank_user_login.php
meine datenbank_user_login.php fragt sessionseitig ab, von welcher seite aus die post variablen kommen. kommen sie von einer unbekannten so wird geblockt, andernfalls gehts mit ner datenbankverbindung weiter.
dann wird die verbindung gemacht und das select statement "select username from user where username = 'bla' and passwort='meinverschlüsseltespasswort'
---
ist das nicht schon sicher genug? ein hacker kann mit dem md5 hash nichts anfangen, weil er sich nicht auf die datenbank verbinden kann (hoffe ich mal, wenn ich per mysql_connect verbinde... ).
versucht er nun meine datenbank_user_login.php direkt aufzurufen oder ein fremdes formular zu benutzen, wird geblockt.
habe ich nun nen denkfehler oder wo ist hier die schwachstelle?
wenn das wirklich nicht sicher sein sollte, muss ich dann zwangsläufig auf https bzw. htacces zugreifen oder gibts noch ne ähnliche lösung wie die oben beschriebene?
dank und gruß
afr0