Sven Rautenberg: Sicherheitslücke .htpasswd???

Beitrag lesen

Moin!

Nenne mir bitte eine andere HTTP-Authentifizierungsart, die eine Gültigkeitszeit besitzt und die offizieller Standard ist.

Nun, das hab ich ich getan. Daher EOD.

Stimmt aber nicht so ganz.

Ja, Digest-Auth besitzt die Mechanismen, dass der Server einen zeitlich befristeten Challenge generiert.

Sollte der Client also irgendwann die Credentials mit einem zu alten Challenge (im RFC nonce genannt) kombinieren, kann der Server mit einem neuen 401 Unauthorized reagieren. Hierbei sollte er allerdings das Stale-Flag auf true setzen, damit der Client erkennen kann, dass nicht die Credentials falsch sind, sondern nur der nonce-Wert veraltet ist, und ein neuer nonce im 401 mitgeliefert wird. Es wird erwartet, dass der Client dann ohne Nachfrage beim User die ihm bekannten Credentials erneut mit dem neuen nonce kombiniert und abschickt.

Mit anderen Worten: Das Verhalten ist absolut identisch zu dem der Basic-Authentifizierung.

Eine wirkliche zeitliche Begrenzung der Gültigkeit der Anmeldung muß weiterhin mit einer serverseitigen Auswertelogik erfolgen: Man speichert den Zeitpunkt des letzten Requests des Users und verweigert einfach einen anmeldungslose Request, wenn seit dem letzten Request zuviel Zeit vergangen ist. Bei Basic-Auth sendet man dann einfach einen 401 zurück, bei Digest-Auth darf man beim 401 aber keinesfalls Stale = True zurücksenden, sondern muß ebenfalls im Prinzip ganz von vorn beginnen.

Denn der Client speichert die einmal eingegebenen Credentials und wird sie, solange er nicht darüber informiert wird, dass diese falsch sind (eben per 401) bei weiteren Requests immer wieder verwenden.

oder höre auf, Dinge zu behaupten, die nicht stimmen.

Spaßvogel ;-)

Stimmt aber.

- Sven Rautenberg

--
Signatur oder nicht Signatur - das ist hier die Frage!