This website (example.com for confidentiality) has an odd open redirect situation. It redirects after logging in by a URL parameter like example.com/login?returnURL=https://example.com

I found that it allows you to change the redirect protocol to almost anything except a few windows protocols like mailto, so you can do something like:


However, as in the example above, *.example.com must be immediately after the protocol or it doesn't work.

Any ideas on common protocols where I could make my own malicious link and it would redirect to it?


There are various ways to bypass such if it's properly validated. To know it better, you need to understand the URL architecture and how things are dine programmatically.
For example,
http://example.com@evil.com redirects evil.com. This is because example.com in this case is username (part of authority) directly supplied in URL. You can learn more about URL architecture from https://tools.ietf.org/html/rfc3986#section-3. I'd also recommend you go through Tangled Web.
And, deoending in how it's being validated, you can also send http://evil.com?http://example.com. This also satisfies the condition that scheme is directly followed by example.com.

If you're just looking for payloads, you might find this useful;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.