I was trying my hands at DOM-based XSS. I came across a scenario where a user-controlled string from the URL is included in JavaScript as below.
var userControlled=substring of URL;
window.location="/abc/xyz?param="+userControlled;
The URL is something like http://mydomain/param1=qwerty
, where I can enter any value for param1
and the system would not complain.
Note: Value of param1
does not directly appear anywhere in the response, but it is used by DOM.
Or the URL can be http://mydomain/param1=qwerty#sadsdsdsd
.
I was just wondering, is there a way to redirect user to a different domain or execute a script or anything which can help me execute a successful XSS attack? Or any other attack for that matter.
window.location = ...
, then that's not what is usually considered DOM-based XSS.)