我们公司计划使用Knockoutjs,但我发现这个链接讨论了KnockoutJS中的安全问题.他们说人们可以轻松地在数据绑定属性中注入恶意代码.
例如:
<script src="http://knockoutjs.com/downloads/knockout-2.3.0.js"></script>
<div data-bind="x:alert(1)" />
<script>
ko.applyBindings();
</script>
Run Code Online (Sandbox Code Playgroud)
我对XSS攻击没有很好的理解,我不知道人们可以在网站上注入恶意代码的方式有多少.
任何人都可以告诉我何时在客户端PC上呈现页面,然后人们如何注入这些<div data-bind="x:alert(1)" />只是为了让它工作?谁能告诉我黑客如何在浏览器中打开的页面中注入此内容?
谁能告诉我knockoutjs有哪些其他安全问题?
如果它不是很安全,那么我就不会使用它.
我也有链接讨论如何更好地保护knockoutjs:
有谁知道如何获得完全安全的knockoutjs?因为我看过KnockoutJS的教程,觉得学习曲线不高.
"保护淘汰赛"不是你如何阻止XSS.
您必须首先管理您的XSS曝光,无论您如何将数据绑定到应用程序中的元素,并首先保护具有敲除绑定的页面:
验证将影响特定网页列表项的返回的输入
不允许用户在不首先清理它的情况下呈现用户提供的html输出
不允许不受信任的第三方提供脚本引用或包含您不信任的第三方的链接.
如何防止XSS的完整列表在这里:
https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet
您会注意到"不使用knockout"不在这些列表中的任何一个上,并且大多数问题都与管理用户输入及其在脚本代码中的结束有关.用户输入在敲除绑定中的结果也是如此.
使用上面链接的安全绑定机制管理您的敲除暴露将减少您潜在的表面攻击区域.
但是,一旦你的服务器返回了一个恶意的html或链接在你的页面中,无论你是否有淘汰赛,你都会遇到XSS问题.
| 归档时间: |
|
| 查看次数: |
5264 次 |
| 最近记录: |