Angular 2 是否也受到 AngularJS 的 CSP 绕过问题的影响?
来自https://storage.googleapis.com/pub-tools-public-publication-data/pdf/45542.pdf
"为了达到目的,AngularJS会解析页面指定部分的模板并执行。可以考虑控制Angular解析的模板的能力 相当于执行任意 JavaScript。默认情况下,Angular 使用 eval() 函数来评估沙箱表达式,这是 CSP 策略禁止的,没有 unsafe-eval 关键字。然而,Angular 还附带了一个 “CSP 兼容模式”(ng-csp),其中的表达式 通过执行符号执行来评估,使其 尽管 CSP 可以调用任意 JavaScript 代码。
因此,可以加载 Angular 的攻击者 CSP 中列入白名单的域中的库可以将其用作 绕过脚本执行保护的 JS 小工具。这是 即使被攻击的应用程序没有使用 Angular 本身——唯一的要求是 Angular 将托管在列入白名单的域之一上的库 脚本-src。因此,仅仅存在任何 Angular 库 在受信任的域中会破坏 CSP 提供的保护。”