I am interested in the intersection of account enumeration and single sign-on. Often, there will be SSO-only and non-SSO users alongside each other in an application, and in terms of improved usability the SSO users will need to be redirected to their specific login portal.
One example I have found is with Office365 redirecting based on the domain name of your email address. Whilst no particular usernames are leaked, an attacker is now aware that a particular company uses Office365, and can narrow their searches.
For example:
- Go to https://login.microsoftonline.com/
- Enter one of the folllowing email addresses-
- "abcd@microsoft.com"
- "abcd@exxonmobil.com"
- "abcd@walmart.com"
Expected: Microsoft and Exxon email address redirect to their login portals, Walmart email address stays with default login.
My questions:
- How could this information leaking be avoided?
- This redirection is at the domain level. If you had SSO-only and non-SSO users with the same domain (e.g. bob@microsoft.com and bill@microsoft.com have different login pages), how can you balance usability with security against account enumeration?