
Mr Eliteπ° Originally published on SecurityElites β the canonical, fully-updated version of this...
π° Originally published on SecurityElites β the canonical, fully-updated version of this article.
β οΈ Authorised Testing Only: All techniques covered here target authorised bug bounty programmes or systems you have explicit written permission to test. Exploiting OAuth token theft or account takeover chains against real users without authorisation is illegal under computer fraud legislation worldwide. SecurityElites.com accepts no liability for misuse.
Most bug bounty hunters file open redirects as Low severity and move on. The programme triage team accepts it, pays the minimum bounty, and closes the ticket. That is the correct call for a standalone redirect β sending a user to an arbitrary URL is a phishing aid, not an account takeover. But on a programme last year I found an open redirect on a target that also used OAuth for social login. I spent twenty minutes testing a chain. The redirect_uri in the OAuth flow accepted the targetβs own domain. The open redirect endpoint was on that domain. I crafted a link that sent any authenticated userβs access token directly to my server. The programme rated it Critical. It paid $15,000. The original open redirect finding, filed standalone, would have paid $150.
The open redirect to account takeover chain is one of the most consistent severity-escalation paths in web application security. It is under-hunted because most hunters stop at the redirect confirmation. I cover the full chain here: OAuth token theft via redirect_uri manipulation, phishing bypass using on-domain redirects, and SSRF escalation via server-side redirect following. The difference between a Low finding and a Critical one is twenty minutes of methodical chaining. ### π― What Youβll Master Confirm open redirects and enumerate chain potential before filing Chain open redirect to OAuth token theft β complete redirect_uri manipulation methodology Build a working account takeover proof of concept using Burp Collaborator Bypass open redirect protections β URL encoding, subdomain tricks, protocol-relative Chain open redirect into SSRF via server-side redirect following Write the High/Critical severity report that reflects the actual impact β±οΈ 60 min Β· 3 exercises Β· Browser + PortSwigger + Burp Suite ### β Prerequisites - Day 11 β Open Redirect Bug Bounty β the baseline open redirect detection methodology this article escalates - Day 18 β OAuth Bug Bounty β OAuth flow fundamentals; understanding authorisation codes, implicit flow, and redirect_uri validation is required for the chain - Burp Suite installed β active proxy and Collaborator used in Exercises 2 and 3 ### π Open Redirect to Account Takeover β Contents 1. Finding Open Redirects β Parameters, Patterns & Bypass Techniques 2. The OAuth Token Theft Chain β redirect_uri Manipulation 3. Phishing Bypass β Using On-Domain Redirects to Beat Filters 4. SSRF Chain β When the Server Follows Your Redirect 5. Building the Account Takeover PoC 6. Reporting β Severity Calculation and Evidence Package The open redirect fundamentals from Day 11 cover detection and basic confirmation. That foundation ends with a confirmed redirect β today extends it into the question of whether the redirect chains into something that pays at a different tier. The OAuth knowledge from Day 18 is the direct prerequisite for Section 2. Read both before working through the exercises if you have not already.
Open redirects hide in predictable places. The post-login redirect parameter is the most common β after authentication, the application forwards the user to wherever they were trying to go, stored in a parameter. Logout flows redirect to a homepage or SSO portal. Email link tracking systems redirect from a tracking domain to the destination. OAuth redirect_uri parameters accept redirect destinations as part of the protocol. Every one of these is a candidate for testing.
OPEN REDIRECT β DISCOVERY PATTERNS AND CONFIRMATIONCopy
?url= ?redirect= ?return= ?next=
?continue= ?goto= ?destination= ?target=
?link= ?returnTo= ?redirectTo= ?forward=
?redir= ?callback= ?successUrl= ?failUrl=
https://target.com/logout?redirect=https://attacker.com
https://target.com/login?next=https://attacker.com
https://target.com/sso?return=https://attacker.com
If browser navigates to attacker.com β open redirect confirmed
?redirect=//attacker.com
?redirect=https%3A%2F%2Fattacker.com
?redirect=%2F%2Fattacker.com
?redirect=https://target.com.attacker.com
?redirect=https://attacker.com?x=target.com
?redirect=https://target.com#https://attacker.com
?redirect=https%253A%252F%252Fattacker.com
?redirect=https://Π°ttacker.com (Cyrillic Π° β Latin a)
Burp Target β Search β regex: (url|redirect|next|return|goto)=https?://
π οΈ EXERCISE 1 β BROWSER (15 MIN Β· AUTHORISED TARGETS)
Find and Confirm an Open Redirect on a Bug Bounty Target
β±οΈ 15 minutes Β· Browser only Β· Authorised scope required
Before any chaining attempt, you need a confirmed open redirect. This exercise runs the discovery and confirmation workflow β the same sequence I run at the start of every redirect chaining assessment. Use an authorised bug bounty target or the PortSwigger open redirect labs.
This article continues with deeper technical detail, screenshots, code samples, and an interactive lab walk-through. Read the full article on SecurityElites β
This article was originally written and published by the SecurityElites team. For more cybersecurity tutorials, ethical hacking guides, and CTF walk-throughs, visit SecurityElites.