Mikrotik speichert WLAN-Passwörter falsch oder gibt sie falsch aus
Hallo Leute,
ich habe heute den ganzen Tag (oder zumindest mehre Stunden) versucht ein Problem bei mir in der Konfiguration herauszufinden.
Jetzt ist mir folgendes aufgefallen:
Wenn man in WinBox unter "Wifi -> Security" eine neuen Eintrag anlegt und als Passwort eine Zeichenkombination mit bestimmten Sonderzeichen (in meinem Fall folgende Zeichenfolge '\") eingibt und man nachfolgend die Daten über die REST-Schnittstelle ausliest:
Kommt folgendes in meinem Fall raus:
Dementsprechend ist das Passwort ein falsches. Auch konnten sich alle Geräte nicht mehr mit dem richtigen Passwort anmelden.
Also gehe ich davon aus, dass WinBox oder RouterOS 7.17 das Passwort falsch escaped.
Installiert ist ROS 7.17
Meine Vermutung ist, dass ROS das in einer älteren Version mit dem escapeten Zeichen (\\) abgespeichert hat und es bei jeder Verbindung auch escaped hat ('\" eingegeben, '\\\" verwendet) . Anders kann ich es mir nicht erklären und es jetzt nicht mehr der Fall ist. Zumindest konnte ich dazu auch noch nichts im Netz finden. Aber gerne könnt ihr das ja auch mal bei euch ausprobieren.
Theoretisch sollte das bei euch z.B. mit dem Zeichen auch der Fall sein, wenn ihr in WinBox das Passwort neu abspeichert, dann sollten sich meiner Vermutung nach eure Geräte nicht mehr anmelden können.
ich habe heute den ganzen Tag (oder zumindest mehre Stunden) versucht ein Problem bei mir in der Konfiguration herauszufinden.
Jetzt ist mir folgendes aufgefallen:
Wenn man in WinBox unter "Wifi -> Security" eine neuen Eintrag anlegt und als Passwort eine Zeichenkombination mit bestimmten Sonderzeichen (in meinem Fall folgende Zeichenfolge '\") eingibt und man nachfolgend die Daten über die REST-Schnittstelle ausliest:
curl -k -u "USER:PASS" http://router.local/rest/interface/wifi/security | jq
Kommt folgendes in meinem Fall raus:
[
{
".id": "*1",
"authentication-types": "wpa2-psk,wpa3-psk",
"disabled": "false",
"encryption": "",
"name": "ap_private",
"passphrase": "'\\\""
},
]
Dementsprechend ist das Passwort ein falsches. Auch konnten sich alle Geräte nicht mehr mit dem richtigen Passwort anmelden.
Also gehe ich davon aus, dass WinBox oder RouterOS 7.17 das Passwort falsch escaped.
Installiert ist ROS 7.17
Meine Vermutung ist, dass ROS das in einer älteren Version mit dem escapeten Zeichen (\\) abgespeichert hat und es bei jeder Verbindung auch escaped hat ('\" eingegeben, '\\\" verwendet) . Anders kann ich es mir nicht erklären und es jetzt nicht mehr der Fall ist. Zumindest konnte ich dazu auch noch nichts im Netz finden. Aber gerne könnt ihr das ja auch mal bei euch ausprobieren.
Theoretisch sollte das bei euch z.B. mit dem Zeichen auch der Fall sein, wenn ihr in WinBox das Passwort neu abspeichert, dann sollten sich meiner Vermutung nach eure Geräte nicht mehr anmelden können.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670784
Url: https://administrator.de/forum/mikrotik-speichert-wlan-passwoerter-falsch-oder-gibt-sie-falsch-aus-670784.html
Ausgedruckt am: 22.02.2025 um 13:02 Uhr
2 Kommentare
Neuester Kommentar

Zitat von @Michi91:
Für mich sieht das korrekt aus :-o
Dein Passwort: '\"
JSON: '\\\"
Das erste \ escaped das \ in deinem Passwort und das dritte im String escaped das "
Dito , und das ist auch vollkommen korrekt. Im Mikrotik ist der Backslash das Escape-Zeichen, muss also selbst escaped werden um als literal interpretiert zu werden, genauso wie das " das ja in diesem Fall ansonsten das Ende der Zeichenfolge einleiten würde.Für mich sieht das korrekt aus :-o
Dein Passwort: '\"
JSON: '\\\"
Das erste \ escaped das \ in deinem Passwort und das dritte im String escaped das "
Da die Passphrase dem Router ausschließlich dazu dient das übermittelte Kennwort mit dem hinterlegten zu vergleichen entfernt er diese Escapes natürlich bei einem internen Vergleich wieder.
Für die Ausgabe muss das aber wieder escaped ausgegeben werden da sonst der Inhalt die JSON-Syntax sprengen würde.
Also in Sachen Syntax soweit korrekt. Aber Chars wie \ schreien nahezu nach Problemen... würde sowas einfach nicht verwenden..
👍 In WiFi Passwörtern oder SSID haben solche Sonderzeichen nichts zu suchen da je nach Implementierung am Client es zu Problemen kommen kann, genau das was der TO jetzt erfährt. Besser eine sehr lange (< 63 Zeichen) zufällige Zeichenfolge aus Ziffern und Buchstaben benutzen, oder gleich WPA-Enterprise wenn möglich.https://community.tp-link.com/us/home/kb/detail/412692
Special Characters, such as ?, ", $, [, \, ], and +, are not allowed in your network settings, An apostrophe(’) may be used, but could be confusing for smart cameras, TV, and wireless printers, for example.
For Optimal Compatibility, We Would Recommend not using any Special Characters other than a Space in Your Network Name and Password.
For Optimal Compatibility, We Would Recommend not using any Special Characters other than a Space in Your Network Name and Password.