当前位置:网站首页 > 黑客培训 > 正文

Aurelia框架中不安全的默认配置可能允许XSS攻击

freebuffreebuf 2022-03-15 316 0

本文来源:

概述

Aurelia是一个开源的现代JavaScript模块工具箱,用于Web和移动应用程序开发。它也被称为“下一代框架”,自推出以来一直受到广泛认可,已被数百万开发人员和团队使用,每月下载量超过1.17 亿次。但是,仅依靠Aurelia框架中默认的HTML过滤器清除恶意输入,可能会使您容易受到XSS跨站脚本攻击。GoSecure研究人员已将该漏洞报告给Aurelia技术团队。

技术分析

使用Aurelia可以将HTML属性或元素内容数据绑定到JavaScript表达式。例如,用户可以使用以下代码将元素的“innerHTML”绑定到Aurelia的HTML过滤器:

<div innerhtml.bind="htmlProperty | sanitizeHTML">div> 

HTML过滤器代码如下所示:

Import { getLogger } from 'aurelia-logging';      const SCRIPT_REGEX = /)<[^<]*)*<\/script>/gi;   let needsToWarn = true;      /**    * Default Html Sanitizer to prevent script injection.    */   export class HTMLSanitizer {     /**      * Sanitizes the provided input.      * @param input The input to be sanitized.      */     sanitize(input) {       if (needsToWarn) {         needsToWarn = false;            getLogger('html-sanitizer')           .warn('CAUTION: The default HTMLSanitizer does NOT provide security against a wide variety of sophisticated XSS attacks,   and should not be relied on for sanitizing input from unknown sources.   Please see https://aurelia.io/docs/binding/basics#element-content for instructions on how to use a secure solution like DOMPurify or sanitize-html.');       }          return input.replace(SCRIPT_REGEX, '');     }   } 

默认情况下,Aurelia的HTML过滤器仅尝试过滤SCRIPT元素,这使远程攻击者可以更轻松地通过其它元素属性中的JavaScript代码进行XSS攻击。攻击者还可能利用SCRIPT字符串处理方式中的漏洞。

例如,以下这个简单的XSS有效载荷将不会被过滤:

ipt>alert('XSS')</scrscript>ipt> <img src="x" onerror="alert('XSS')"/> 

总结

仅依靠默认过滤器来过滤恶意JavaScript输入的用户容易受到XSS跨站脚本攻击。该漏洞影响Aurelia Framework 1.x存储库的所有发行版本,最终可能造成会话劫持和敏感信息泄漏等后果。

转载请注明来自网盾网络安全培训,本文标题:《Aurelia框架中不安全的默认配置可能允许XSS攻击》

标签:xssjavascript框架

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表