客户端模板注入
描述:客户端模板注入
当使用客户端模板框架应用程序框架在网页中动态嵌入用户输入时,客户端模板注射漏洞会出现。beplay体育能用吗当渲染网页时,beplay体育能用吗框架将扫描页面以获取模板表达式,并执行其遇到的任何内容。攻击者可以通过提供恶意模板表达式来利用这一点,该模板表达式启动跨站点脚本(XSS)攻击。与正常的跨站点脚本一样,攻击者提供的代码可以执行各种各样的动作,例如窃取受害者的会议令牌或登录凭据,代表受害者执行任意行动,并记录其击球手。
可以诱使用户以各种方式发布攻击者精心设计的请求。例如,攻击者可以向受害者发送包含电子邮件或即时消息中的恶意URL的链接。他们可以将链接提交到允许内容创作的流行网站,例如在博客评论中。beplay体育能用吗他们可以创建一个无害的网站,该网站会导致任何观看它的人向弱势应用程序(使用GET或beplay体育能用吗POST方法)提出任意跨域请求。
客户端模板注入漏洞的安全影响取决于脆弱应用程序的性质,所包含的数据和功能的种类以及属于同一域和组织的其他应用程序。如果该应用程序仅用于显示非敏感的公共内容,而没有身份验证或访问控制功能,则客户端模板注入缺陷可能被视为低风险。但是,如果相同的应用程序位于可以访问其他更为关键安全应用程序的cookie的域上,则该漏洞可用于攻击这些其他应用程序,因此可能被认为是高风险。同样,如果拥有该应用程序的组织可能是网络钓鱼攻击的可能目标,那么可以通过将特洛伊木马功能注入脆弱的应用程序并利用用户对组织的信任来利用该攻击性来使此类攻击的信誉。为其拥有的其他应用程序的凭证。在许多类型的应用程序中,例如提供在线银行功能的应用程序,客户端模板注入应始终被视为高风险。
客户端模板框架通常实现一个旨在阻止模板表达式中直接执行任意JavaScript的沙盒。但是,这些沙箱并非打算是安全控制,通常可以绕过。
浏览器跨站点脚本过滤器通常无法检测或防止客户端模板注入攻击。
修复:客户端模板注入
如果可能的话,避免使用服务器端代码将用户输入动态嵌入到客户端模板中。如果这是不切实际的,请考虑从用户输入中过滤模板表达语法,然后再将其嵌入客户端模板中。
请注意,HTML编码不足以防止客户端模板注入攻击,因为框架在定位和执行模板表达式之前执行相关内容的HTML指数。
参考
- 无HTML的XS:客户端模板注入AngularJS。这包括已知的Angularjs沙盒逃生的列表。
- beplay体育能用吗网络安全学院:Angularjs沙盒逃逸
- AngularJS安全考虑
- JavaScript MVC安全陷阱
脆弱性分类
典型的严重程度
高的
类型索引(HEX)
0x00200308
类型索引(十进制)
2097928