"script" 标签中的 nonce 属性解析不正确

nonce attribute in "script" tag incorrectly parsed

问题是:

在 iframed 网络应用程序中,使用“script”标签插入 javascript 源,并使用“nonce”属性绕过 CSP。 “nonce”标签以某种方式被错误解析,例如:

<script src="//www.example.com/asdf.js" nonce="isaghdfuigisdfu"></script>

将向此错误发送 XHR url:

https://www.example.com/asdf.js%22%20nonce=%22isaghdfuigisdfu

这意味着空格、引号和“nonce”成为 src 的一部分 url。

是不是因为iframed应用不支持nonce attr?

不,这是因为您的脚本错误解析了 XHR 请求的来源:https://www.example.com/asdf.js%22%20nonce=%22isaghdfuigisdfu -> https://www.example.com/asdf.js" nonce="isaghdfuigisdfu.

<script> 绝对支持 'nonce' 属性。如果浏览器不支持某些属性,它会跳过它。