首页 > 解决方案 > AngularJS XSS 中场地

问题描述

我有一个 AngularJS 应用程序(Angular 版本 1.6.4),它使用输入字段将 URL(可由用户更改)绑定到模型。这是它的样子:

<input ng-model="connectorService.url">

然后,此 URL 将保存到后端,并在页面刷新后立即从那里重新加载。我试图通过操纵在后端设置 URL 的 POST 请求来做一些 XSS。

我输入<script>alert("XSS");</script>了输入并且设置正确(通过从后端手动请求验证)。当我重新加载页面时,输入字段包含 XSS 但未执行。我究竟做错了什么?AngularJS 1.6.4 中还有沙箱吗?

标签: angularjsxss

解决方案


AngularJS 1.6.4 中还有沙箱吗?

不,AngularJS 1.6 删除了表达式沙箱

从文档:

[V1.6] 的另一个主要变化是删除了Expression Sandbox。这不需要对您的应用程序进行更改(并且可能会稍微提高性能),但我们强烈建议您阅读Sandbox Removal 博客文章以了解删除背后的含义以及您是否需要采取任何措施。

AngularJS 开发人员指南 - 迁移到 V1.6

有关其他信息,请参阅


推荐阅读