So if you set your password as blah and it gets hashed to xyz and stored in the users table. Because of the plain text authenticator, you can use that hashed value as your password now. So specifically the below will work.

http://localhost:8080/client/api?command=login&username=user&password=blah

http://localhost:8080/client/api?command=login&username=user&password=xyz

This seems bad. Go and try it yourself (just be careful about URL encoding, + should be %2b). So because of the existence of the plain text authenticator, passwords are still plain text but they just happen to be long random strings. Typically in an auth system you store the hashing type with the hashed value. So then the plain text authenticator would not even attempt to compare values because it would see the value was hashed by a different authenticator.

Darren

Reply via email to