Open Redirect

What is Open Redirect?

Open Redirect is a web application vulnerability where an attacker tricks the application into redirecting users to a malicious or untrusted external site by manipulating URL parameters or links.

Open Redirect Impact Severity:

  • Phishing attacks and credential theft
  • Malware distribution
  • Session hijacking
  • Bypass of security controls
  • Loss of user trust
  • SEO spam and blacklisting

Red Team Techniques (Offensive)

1. Identification Techniques

Common Parameters

redirect
url
next
return
destination
r
forward
go
checkout
continue

Testing Methodology

  • Fuzz all parameters with external domains
  • Check both GET and POST requests
  • Test all authentication flows
  • Examine JavaScript redirects

2. Advanced Exploitation

OAuth/SSO Abuse

https://oauth-provider.com/auth?
  client_id=123&
  redirect_uri=https://attacker.com/callback

DOM-Based Redirects

window.location.href = new URLSearchParams(
  window.location.search
).get('redirect');

3. Bypass Techniques

Encoding Variations

// Double encoding
%252F%252Fevil.com

// UTF-8 encoding
%C2%A0evil.com

// HTML entities
//evil.com

Protocol Tricks

// Missing protocol
//evil.com/path

// JavaScript protocol
javascript:alert(1)

// Data URI
data:text/html,<script>alert(1)</script>

4. Real-World Attack Chains

Phishing Campaign

1. Victim receives: https://trusted.com/login?redirect=phish.com
2. Trusted site redirects to phishing page
3. Phishing page steals credentials

CSRF Exploitation

<form action="https://bank.com/transfer" method="POST">
  <input type="hidden" name="amount" value="1000">
  <input type="hidden" name="to" value="attacker">
</form>
<script>document.forms[0].submit()</script>

Tools & Automation

Discovery Tools

  • Burp Suite Scanner
  • OWASP ZAP
  • Param Miner
  • Arjun

Exploitation Tools

  • Phishing frameworks
  • Redirector services
  • Custom scripts

Analysis Tools

  • Browser developer tools
  • Redirect tracing tools
  • Network analyzers

Blue Team Defenses (Defensive)

1. Secure Redirect Handling

Whitelist Implementation

// Python example
ALLOWED_DOMAINS = ['example.com', 'trusted.org']

def safe_redirect(url):
    domain = urlparse(url).netloc
    if domain not in ALLOWED_DOMAINS:
        return "/"  # Default safe location
    return url

Relative URLs Only

// Only allow paths, not full URLs
function validateRedirect(path) {
    return path.startsWith('/') ? path : '/';
}

2. Framework Protections

Django Safe Redirect

from django.utils.http import is_safe_url

redirect_to = request.GET.get('next')
if not is_safe_url(redirect_to, allowed_hosts=request.get_host()):
    redirect_to = '/'

Spring Security

@Controller
public class RedirectController {
    public String redirect(@RequestParam String url) {
        // Validate URL against whitelist
        if (!SecurityUtils.isSafe(url)) {
            return "redirect:/";
        }
        return "redirect:" + url;
    }
}

3. Security Headers

Content Security Policy

Content-Security-Policy: default-src 'self';
  form-action 'self';
  frame-ancestors 'none'

Referrer Policy

Referrer-Policy: strict-origin-when-cross-origin

4. Monitoring & Detection

Anomaly Detection

  • Unusual redirect patterns
  • Suspicious domains in logs
  • Spike in redirect usage

WAF Rules

  • Block known malicious domains
  • Detect encoding bypass attempts
  • Rate limit redirect endpoints

5. User Protection Measures

Visual Indicators

  • Clear external link warnings
  • Domain highlighting
  • Security badges

Confirmation Steps

  • Redirect confirmation pages
  • Countdown timers
  • Manual user approval

Education

  • Security awareness training
  • Phishing simulations
  • Reporting mechanisms

Open Redirect Mitigation Checklist

  • Implement strict whitelist-based redirect validation
  • Prefer relative URLs over absolute URLs
  • Use framework-provided safe redirect functions
  • Add security headers (CSP, Referrer-Policy)
  • Monitor for suspicious redirect patterns
  • Educate users about external link risks
  • Regularly audit all redirect functionality
  • Implement WAF rules for common bypass techniques

Additional Resources & References

Legal Notice

This content is provided for educational purposes only. Never test security vulnerabilities against systems without explicit permission. Unauthorized testing may violate laws.