.setinterval 和 XSS

sta*_*nko 5 xss setinterval

OWASP XSS 预防备忘单中,它说不能将不受信任的数据安全地放入 .setinterval JS 函数中。即使被转义/编码,XSS 仍然是可能的。

但如果我有这样的事情:

setInterval(function(){ alert('<%=UNTRUSTED_DATA%>'); }, 3000);
Run Code Online (Sandbox Code Playgroud)

如果我 JS 编码“UNTRUSTED_DATA”,XSS 怎么可能?

vcs*_*nes 5

有一个重载,setInterval它接受一串代码而不是一个函数,它基本上是exec在一个区间上。

我相信这就是 OWASP 备忘单所指的内容,您可以在该重载中放置不受信任的字符串。您正在使用函数重载,这不是 OWASP 调用的函数。