In the OWASP XSS prevention cheat sheet it says that untrusted data cannot be safely put inside the .setinterval JS function. Even if escaped/encoded, XSS is still possible.
But if I have something like this:
setInterval(function(){ alert('<%=UNTRUSTED_DATA%>'); }, 3000);
And if I JS encode "UNTRUSTED_DATA", how would XSS be possible?
There is an overload of setInterval
that accepts a string of code instead of a function, which is basically exec
on an interval.
I believe that is what the OWASP cheat sheet is referring to, you can put untrusted strings in that overload. You are using the function overload, which is not the one OWASP is calling out.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With