Thread Apache::AuthDBI - seltsames verhalten
(21 answers)
Opened by marky at 2012-01-06 18:59
Abend, ich verwende sehr of Apache Apache::AuthDBI für Admin-Logins - das ist einfachk, schnell und sauber. Nur gerade hat ein User von einem Fehler berichtet, den ich mir nicht erklären konnte und da bin mal ein bisschen auf die Suche gegangen und siehe da - da läuft was falsch.
Der Username checkt gegen ein int-Feld und ist die UserID und jetzt passiert folgendes, wenn man hier nicht nur zahlen eingibt, sondern auch andere Zeichen, dann klappt die Autorisierung trotzdem, also sagen wir mal der Username ist 2 - dann kann man sich auch mit 2asdjahdkljadh einloggen, es scheint immer der String bis zur ersten Nichtzahl Verwendung zu finden. Daraus ergibt sich jetzt ein echte Sicherungslücke, wenn man den Input-String nochmal von Nicht-Zahlen säubert /\D+// - dann kann sich zb. mit 2aa2 mit dem User für 2 in den Account 22 einloggen usw. das finde ich irgendwie seltsam und das sollte doch eigentlich nicht sein. Ich gehe mal von, dass da ein einfaches = gemacht wird. Liegt das an mysql oder ist das ein Bug - keine Ahnung was ich davon halten soll. PS: Als schneller Workaround habe ich jetzt einfach mal $ENV{'REMOTE_USER'} =~ s/^(\d+).*$/$1/ ; eingesetzt, aber das kann es wirklich auch nicht sein. Gruss Marky Last edited: 2012-01-07 10:29:04 +0100 (CET) Mfg
Markus - http://www.perlunity.de - |