Following Methodologies when testing 3rd Party Integrations on a website
- Find domain used in 'redirect_uri'
Can we use 'subdomains' in the 'redirect_uri'
Point the 'redirect_uri' to a page →
Use the stolen 'access_token' to login
Main Aim ⇒ Steal 'authorization_code' of the Application Use it to login into user's account to user's account
response_type = code
'redirect_uri' while exchanging the 'authorization_code' with 'access_token' must MATCH when we got 'authorization_code'
Find domain used in 'redirect_uri'
Can we use 'subdomains' in the redirect_uri
Check if 'authorization_code' derived from manipulated 'redirect_uri' works when fetching 'access_token'
Point the 'redirect_uri' to a page
XSS which can be used in 'redirect_uri' to pass 'authorization_code' to attacker
Subdomain Takeover (allowed subdomain in 'redirect_user')
Loading user controlled external images,scripts,etc (leaking via referrer)
Use the stolen 'authorization_code' to login
Aim is ⇒ Connect attacker's account to User's Account and Login via Attacker's account into user's account
state ⇒ some anti-csrf token
Aim ⇒ ⇒ Use victim's valid 'access_token' from any 3rd party app ⇒ Pass 'access_token' of the victim from different app and get unauthorized access to the account