Der Martin: Passwörter Sicherheit

Beitrag lesen

Hallo,

Nehmen wir an, ich habe eine typische Login-Umgebung und die Kodierung sei utf-8, also ein übliches Szenario. Ferner nehmen wir an, dass das gewünschte Passwort "üa" sei.

okay, damit's einfach zu verstehen ist.

Bei ü handelt es sich um zwei Bytes (C3 BC) , bei ä ebenfalls zwei Bytes (C3 A4). Wie könnte jetzt ein Angreifer diese Bytewerte via des Loginfeldes übertragen?

Wozu sollte er das Login-Formular benutzen? Er könnte es kopieren, auf ISO-8859-1 umstellen und dann wieder Zeichen für Zeichen, respektive Byte für Byte einzeln eingeben.

Aber es geht doch viel einfacher. Er schaut nach, ob das verarbeitende Login-Script die Daten per GET oder POST erwartet, und wie die URL-Parameter heißen sollen. GET ist besonders einfach, dann ruft er einfach die URL http://example.org/login?user=mustermann&pass=%C3%BC%61 auf. Die URL-codierte Bytesequenz entspricht genau dem String üa in UTF-8 (das a hätte man auch im Klartext schreiben können, aber so sieht's geheimnisvoller aus).
POST ist ebenso einfach, nur kann man es nicht direkt mit dem Browser ausprobieren. Mit einem eigenen Script oder mit wget ist es aber kein Problem, die Ressource http://example.org/login per POST-Methode aufzurufen und die POST-Daten user=mustermann&pass=%C3%BC%61 mitzusenden.

Ciao,
 Martin

--
Lehrer:  Wieviel ist die Hälfte von 8?
Schüler: Kommt drauf an. Waagrecht 0 und senkrecht 3.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(