我有一个AngularJS应用程序(Angular版本1.6.4),该应用程序使用输入字段将URL(可由用户更改)绑定到模型。这是它的样子:
<input ng-model="connectorService.url">
该URL然后保存到后端,并在刷新页面后立即从该URL重新加载。我试图通过处理在后端设置URL的POST请求来做一些XSS。
我在输入中输入了<script>alert("XSS");</script>
,并且已正确设置(通过从后端手动请求进行验证)。重新加载页面时,输入字段包含XSS,但未执行。我究竟做错了什么? AngularJS 1.6.4中还有沙箱吗?
[AngularJS 1.6.4中还有沙箱吗?
否,表达式沙箱已被AngularJS 1.6删除
来自文档:
[V1.6]的另一个主要变化是删除了[[Expression Sandbox”。这应该不需要更改应用程序(可能会带来一些性能提升),但是我们强烈建议您阅读Sandbox Removal Blog Post以了解删除操作背后的含义以及您是否需要采取任何措施。
— AngularJS Developer Guide - Migrating to V1.6
有关更多信息,请参阅