在angularjs应用中防止XSS攻击的最好方法是什么?在将$sanitize发送到rest服务调用之前,我已经使用过它,但我仍然收到安全团队的错误,说这个应用程序不安全。这个调用大致是这样的
http://somesite.com/search?dateFrom='%22()%26%25<acx><ScRiPt%20>prompt(961193)</ScRiPt>&dateTo=20141231&code=5900但这应该是一个POST调用。我不确定为什么安全扫描仍然产生错误。这是必须在服务器端修复的东西吗?我在我的输入字段中使用指令进行了验证,以防止用户输入无效字符,如<,>等。因此,我不知道扫描是如何产生这些错误的……
以下是扫描响应头的示例

发布于 2015-10-07 04:48:48
根据定义,XSS修复严格指的是不安全内容的输出。
默认情况下,AngularJS会输出编码的超文本标记语言,因此不会对其进行解析-与其关联的JS也是如此。因此,默认情况下,您应该被覆盖。
仍然不安全,一些AngularJS开发者选择使用“ng--html-”或者通过$sce手动创建不安全的内容。在这种情况下,开发人员必须意识到他们100%依赖于后台来提供良好的数据。
您确定安全团队指的是XSS而不是CSRF吗?因为CSRF有一个完全不同的修复(参见google上的CSRF令牌交换)。如果不是这样,我的直觉告诉我他们想要来自客户端的编码字符串(因为他们懒得自己编码)。
发布于 2015-10-08 04:20:36
事实证明,服务器端没有对输入的数据进行清理。尽管我设置了验证,但安全团队使用的应用程序可以调用POST ajax调用,而无需通过web应用程序。
https://stackoverflow.com/questions/32979176
复制相似问题