Verbindungsablauf von MySQL
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
algorithmus
anschauen
bilden
dank
echte probleme
fehler
funktion
genaue beschreibung
inoffiziellen nachfolger
klartext
lange folge
machen
server
sorgen
unterscheiden
url
version
vertiefen
verwenden
vorkommen
-
Hallo zusammen
Ich veruche gerade mich etwas in MySQL zu vertiefen um die Vorgänge besser kennen zu lernen.
Aus diesem Grund liess ich einmal Wireshark während des anmeldens mitlaufen. Dort kann ich nun sehen das User, der Name der DB sowie ein Passwort übertragen werden.
Beim Passwort handelt es sich aber nicht um das welches ich eingegeben habe. Kannn mir einer sagen wie das Passwort an den Server übertragen wird und ob das sicher ist?
Danke schon jetzt für die Antworten. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
also als erstes, Du solltest Dir direkt Mysqli anschauen. Mysql ist veraltet und wird in kommenden PHP Versionen nichtmehr unterstützt. Alternativ könntest Du auch PDO verwenden.
Dein Passwort wird wohl verschlüsselt an die DB gesendet, was soweit auch ok und gut ist. Vermutlich wird es als MD5 Hash gesendet. Passwörter sollten nie als Klarschrift gesendet oder gespeichert werden.
LG Marco
-
aff3m1tw4ff3 schrieb:
Hi,
also als erstes, Du solltest Dir direkt Mysqli anschauen. Mysql ist veraltet und wird in kommenden PHP Versionen nichtmehr unterstützt. Alternativ könntest Du auch PDO verwenden.
Dein Passwort wird wohl verschlüsselt an die DB gesendet, was soweit auch ok und gut ist. Vermutlich wird es als MD5 Hash gesendet. Passwörter sollten nie als Klarschrift gesendet oder gespeichert werden.
LG Marco
Danke für deine Antwort. In meinem Fall war es ein MySQL Programm auf dem Desktop.
Wenn du meinst das es MD5 ist müsste ich ja das slebe Passwort in Wireshark sehen wie wenn ich es in PHP umwandele. Doch irrgendwie unterscheiden sich diese beiden Hashes. Könnte es sein das eine anderer Hash algo verwendet wird? -
hallo ,
seit mysql4.1 wird ein neuer algorithmus benutz:
https://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_password
lg hechma -
hechma schrieb:
hallo ,
seit mysql4.1 wird ein neuer algorithmus benutz:
https://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_password
lg hechma
Danke
Sehe ich das richtig das es sich hierbei um einen SHA-256 Hash handelt? -
halo meik6,
ich denke nicht. das hängt wie gesagt von deiner mysql version ab.
eine überaus genaue beschreibung findest du in dem von mir oben geposteten link.
lg hechma -
aff3m1tw4ff3 schrieb:
also als erstes, Du solltest Dir direkt Mysqli anschauen. Mysql ist veraltet und wird in kommenden PHP Versionen nichtmehr unterstützt. Alternativ könntest Du auch PDO verwenden.
warum sollte MySQL nicht mehr unterstützt werden? ohne mysql könnte es echte probleme mit wordpresswebseiten und vielen vielen weiteren geben, weil diese systeme auf mysql ausgelegt sind. es sei den die entwickler stellen sich darauf ein und programmieren die softwares um. -
matthias-detsch schrieb:
damit wird die PHP-Funktion mysql() gemeint und nicht MySQL an sich.
mit mysqli() wurden viele Fehler und Sicherheitslücken behoben.
deswegen wurde mysql() als veraltet markiert und wird vermutlich in einer der nächsten PHP-Versionen gar nicht mehr vorkommen.
achso ok also muss ich mir keine sorgen mehr machen das es irgendwann keine mysql updates/datenbanken gibt ^^. -
naja, seitdem MySQL Oracle gehört...
jedenfalls gibt es einen (inoffiziellen) Nachfolger: MariaDB.
wird von vilen inzwischen verwendet, z.B. von wikipedia.
Beitrag zuletzt geändert: 19.4.2015 14:32:05 von matthias-detsch -
Zum Thema MD5:
Davon sollte auch abgesehen werden. Es ist keine Verschlüsselung!
Es ist lediglich zum Bilden von Prüfsummen geeignet.
Viele verwenden es aber fälschlicherweise als "Verschlüsselung". -
makobi schrieb:
Zum Thema MD5:
Davon sollte auch abgesehen werden. Es ist keine Verschlüsselung!
Es ist lediglich zum Bilden von Prüfsummen geeignet.
Viele verwenden es aber fälschlicherweise als "Verschlüsselung".
War auch nicht als Verschlüsslung gemeint. Habe mir gedacht das sich mein mysql client mit einem hash aus meinem Passwort beim Server anmeldet. -
meik6 schrieb:
War auch nicht als Verschlüsslung gemeint. Habe mir gedacht das sich mein mysql client mit einem hash aus meinem Passwort beim Server anmeldet.
Macht er ja auch, wenn in deinem Script zum Beispiel mit MD5 ein Hash aus deinem Passwort gebildet wird, dann wird dies als Hash an den DB-Server gesendet.
Das du jetzt mit Wireshark ein anderes im Klartext angezeigt bekommst, liegt daran, dass viele Wörter nach dem MD5 Hash eine gleiche Zeichenfolge haben.
Bei einem Hash mit Sha256 kommt eine 128 Zeichen lange Folge heraus, hier ist es dann etwas unwahrscheinlicher, dass mehrere Wörter sich die gleiche Zeichenfolge teilen.
Und noch etwas mehr Sicherheit bekommt man, wenn man einen sogenannten Salt vor oder hinter das reine Passwort hängt. -
Danke
Das habe ich mir auch gedacht. Nur war mir nicht klar was für ein hash es ist. Gibt je mittlerweile eine recht grosse Auswahl. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage