angularjs可防止XSS攻击

时间:2015-10-06 20:31:04

标签: javascript ajax angularjs rest xss

在angularjs app中阻止XSS攻击的最佳方法是什么?我在将它发送到休息服务电话之前使用了$ sanitize,我仍然从我们的安全团队那里得到应用程序不安全的错误。这个电话有点像

http://somesite.com/search?dateFrom='%22()%26%25<acx><ScRiPt%20>prompt(961193)</ScRiPt>&dateTo=20141231&code=5900

但这应该是一个POST调用。我不确定为什么安全扫描仍然会产生错误。这是必须修复服务器端的东西吗?我在输入字段中使用指令进行验证,以防止用户输入无效字符,例如&lt; ,&gt;所以我不清楚扫描是如何产生这些错误的......

下面是扫描响应头的示例 enter image description here

2 个答案:

答案 0 :(得分:1)

根据定义, XSS 修正严格来说是不安全内容的输出。

AngularJS将默认输出编码HTML ,因此无法解析 - 与之相关的JS也是如此。所以默认情况下你应该被覆盖。

仍然,一些AngularJS开发者选择使用&#34; ng-bind-html-unsafe&#34;或通过$ sce手动制作不安全的内容。在这种情况下,开发人员必须意识到他们100%依靠后端来提供良好的数据。

您确定安全团队是否参考XSS而不是 CSRF ?因为CSRF有一个完全不同的修复(请参阅谷歌上的CSRF令牌交换)。 如果不是这种情况,我的直觉说他们想要来自客户端的编码字符串(因为他们懒得自己编码)。

答案 1 :(得分:0)

事实证明服务器端没有清理输入的数据。即使我已经设置了验证,安全团队也会使用一个可以在不通过Web应用程序的情况下调用POST ajax调用的应用程序。