如何解决是否有用于 OWASP JavaScript 编码的 Freemarker 字符串内置或输出格式来避免 XSS?
我找不到任何已经准备好使用 OWASP JavaScript encoding to avoid XSS 的字符串内置或输出格式,你可以吗?:
除字母数字字符外,所有字符都使用 \uXXXX unicode 编码格式(X = Integer)进行编码。
实际上我正在寻找类似 here 的 How to prevent XSS client-side in JavaScript
部分的内容:
function jsEscape(str){
return String(str).replace(/[^\w. ]/gi,function(c){
return '\\u'+('0000'+c.charCodeAt(0).toString(16)).slice(-4);
});
}
如果没有,拉请求这样的能力有意义吗?因为我想知道为什么 Freemarker 中已经缺少如此常见的重要功能!
示例
假设以下简单的假设 FTL 文件:
<script type="text/javascript">
var ${parameters.id}Array = new Array(${parameters.size});
</script>
我想请 Freemarker 编码/转义 id
和 size
,如果它们包含脚本(如上面提供的来自 Owasp 等的链接)。例如,XSS 攻击可能是 id
= dummy=0; alert('XSS'); actualId
。 Freemarker 目前生产:
<script type="text/javascript">
var dummy=0; alert('XSS'); actualIdArray = new Array(1);
</script>
但我正在寻找:
<script type="text/javascript">
var dummy\u003d0\u003b alert\u0028\u0027XSS\u0027\u0029\u003b actualIdArray = new Array(1);
</script>
它不会按预期运行 XSS(避免 XSS 但不允许 XSS id
和 size
)。
除字母数字字符外,所有字符都使用 \uXXXX unicode 编码格式(X = Integer)进行编码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。