it-swarm.com.de

Passwort akzeptiert, wenn Zeichen hinzugefügt werden

Ich habe versehentlich festgestellt, dass ich mich in das Konto meiner Universität einloggen kann, wenn ich mein Passwort eingebe und einige Zeichen hinzufüge. Also, wenn mein Benutzername e ist. G. "abc" und mein Passwort ist "Passwort", ich kann mich mit "abc"/"Passwort" anmelden, aber auch mit "abc"/"Passwort121312", "abc"/"Passwort1", "abc"/"Passwort" usw. (Ich habe nur ein paar Versuche gemacht, aber es hat bisher funktioniert).

Ist das irgendwie unsicher? (Ich kann mir nicht vorstellen, warum (außer vielleicht, dass dies bedeutet, dass es andere Sicherheitsprobleme mit dem Netzwerk gibt), aber ich weiß nicht viel über Sicherheit.) Soll ich es meiner Universität sagen?

32
user161817

Dies könnte darauf hindeuten, dass eine verwendete Passwort-Hashing-Routine entweder die Eingabe abschneidet (nur mit den ersten x Zeichen des Passworts) oder dass der Vergleich für korrekte Passwörter schlecht implementiert wurde und nur den ersten Teil vergleicht (dies könnte auch bedeuten eine Blockverschlüsselung, die zum Speichern von Passwörtern verwendet wird, oder Rohpasswörter, die gespeichert werden).

Keine der beiden Situationen ist besonders gut.

Im Falle einer Kürzung entsteht ein falsches Sicherheitsgefühl - Sie haben möglicherweise ein langes zufälliges Passwort ausgewählt, aber wenn nur die ersten paar Zeichen tatsächlich verwendet werden, ist es nicht annähernd so sicher, wie Sie vielleicht denken. und könnte daher bei einem Brute-Force-Angriff leichter erraten werden. Ich würde hoffen, dass dies die wahrscheinlichere Erklärung war.

Im Falle einer schlechten Vergleichsroutine deutet dies darauf hin, dass der für die Authentifizierungsroutine verantwortliche Entwickler nicht mit sicheren Entwicklungspraktiken vertraut war. Durch die Verwendung eines Teilvergleichs (z. B. SELECT * FROM users WHERE 'username' LIKE '$username%' AND 'password' LIKE '$password%') Wird die Wahrscheinlichkeit von Brute-Force-Angriffen erneut erhöht, es wird jedoch auch darauf hingewiesen, dass möglicherweise andere Fehler gemacht wurden: Im obigen Beispiel wird möglicherweise ein Kennwort von a' OR 1=1'-- Würde einen SQL-Injection-Angriff auslösen. Offensichtlich ist dies ein leicht erfundenes Beispiel, aber nicht jenseits der Möglichkeiten.

Im Fall einer Blockverschlüsselung anstelle eines Kennwort-Hashing-Algorithmus kann die in der Datenbank zulässige Länge für ein langes Kennwort nach der Verschlüsselung nicht ausreichen. Tatsächlich ist dies eine Kürzung, jedoch der verschlüsselten Daten und nicht der Eingabe. Der Endeffekt ist jedoch der gleiche: Die Angabe eines langen Passworts vermittelt ein falsches Sicherheitsgefühl.

17
Matthew

Der wahrscheinlichste Grund dafür ist, dass das System Kennwörter abschneidet. Um diese Hypothese zu überprüfen, könnten Sie versuchen, Ihr Passwort in etwas längeres zu ändern und zu sehen, was passiert: Erkennt das System "thisquitelongpassword" als "thisquitelong"? In diesem Fall schneidet das System Kennwörter definitiv ab. Wenn nicht, kann es zu ernsthaften Problemen bei der Eingabevalidierung kommen, wie von @Matthew hervorgehoben.

Während das Abschneiden von Kennwörtern erforderlich sein kann, um mit Legacy-Systemen zu interagieren, die auch Benutzernamen abschneiden (siehe diese Antwort auf Serverfault ), sollte dies im Allgemeinen vermieden werden, da dadurch der "Kennwortbereich", dh die Anzahl der, verringert wird eindeutige Passwörter, die generiert werden können.

Angreifer können eine Menge Ressourcen (Zeit, Geld) sparen, wenn sie wissen, dass ihr Zielsystem abgeschnittene Kennwörter verwendet, da sie wissen, dass sie keine Kennwörter versuchen müssen, die länger als die Kürzungslänge sind.

Obwohl Ihr Verhalten für mich nicht böswillig erscheint, reagieren einige Organisationen sehr empfindlich auf Fehler in ihren Systemen.

Daher könnten Sie versuchen, Ihrer Universität davon zu erzählen, aber betonen Sie Ihr Wissen über mögliche Angriffe nicht zu sehr. Nur etwas wie "Ich habe gelesen, dass dies ein Zeichen für ein Sicherheitsproblem sein kann" zu sagen, sollte in Ordnung sein. Geben Sie außerdem keine absoluten Aussagen wie "Dies ist völlig unvernünftig" an, da dies Gründe haben kann (für das Abschneiden von Passwörtern, nicht für die falsche Validierung von Eingaben).

Führen Sie natürlich nicht zu viele Tests durch, automatisieren Sie die Tests nicht und führen Sie keine Angriffe durch.

33
A. Darwin