{% embed url="https://rikeshbaniya.medium.com/account-takeover-using-sso-logins-fa35f28a358b" %}
Normal Flow:
- On
target.com, “OrganizationA” has users likeadmin@gmail.com,user1@gmail.com. - Admin sets up Okta SSO for OrganizationA, creating Okta accounts for these emails.
- Users log in via Okta;
target.comtrusts Okta’s claim (e.g., “you’reuser1@gmail.com”), granting access to OrganizationA.
The Bug:
- Victim (
victim@gmail.com) belongs toVictimOrganizationontarget.com. - Attacker creates
AttackerOrganizationontarget.comand invitesvictim@gmail.com. - Attacker sets up their own Okta instance for
AttackerOrganization, creating a fake user withvictim@gmail.com(no email verification required). - Attacker logs into
target.comvia their Okta, authenticated asvictim@gmail.com. - Since
victim@gmail.comis inVictimOrganization, attacker switches to it, accessing victim’s data/functionality (e.g., sensitive files, settings).
Reproduce the Bug:
- Check SSO: Register/login on
target.com; look for custom SSO (Okta, Auth0). Check if email verification is skipped. - Create Fake Org: Create your own organization (e.g.,
AttackerOrg) ontarget.com. Invitevictim@gmail.com(use a test email you control). - Setup SSO: In your Okta/Auth0 dev account, create a user with
victim@gmail.com. Link this SSO toAttackerOrg. - Login & Switch: Log into
target.comvia your Okta asvictim@gmail.com. Check if you can switch toVictimOrgin the UI. - Prove Impact: Access sensitive data (e.g., files, settings) or perform actions (e.g., invite others). Screenshot for report.