main.xxxxxxxxxxxx.js包含与XSS漏洞相关的img src = x onerror = alert(1)。有办法摆脱它吗?

问题描述 投票:1回答:1

[在Angular中进行生产构建时,创建的main.xxxxxxxx.js包含代码

<img src="</style><img src=x onerror=alert(1)"//>

我们可以通过Ctrl + F进行查找。我已经确认了多个项目中的行为,包括样板项目。由于这一特定的代码行由于与XSS攻击有关而似乎是恶意的,因此有没有办法摆脱它?另外,如果有人出于某种目的或者是Angular的错误,有人可以解释为什么这条可疑线存在吗?

angular security angular-cli xss
1个回答
0
投票

有人可以解释一下为什么有这个可疑之处吗?>

看起来像是作为消毒脚本插入的,您可以看到它being added here

inertBodyElement.innerHTML = '<svg><p><style><img src="</style><img src=x onerror=alert(1)//">';

并且该类具有描述

/**
 * This helper class is used to get hold of an inert tree of DOM elements containing dirty HTML
 * that needs sanitizing.
 * Depending upon browser support we must use one of three strategies for doing this.
 * Support: Safari 10.x -> XHR strategy
 * Support: Firefox -> DomParser strategy
 * Default: InertDocument strategy
 */

spec file引用的DOMPurify release似乎与Mozilla security bug有关。 DOMPurify发行说明状态:

安装此最新版本的用户不受此错误影响随着DOMPurify解决问题并缓解该问题,通过不再信任Gecko的innerHTML实现。而不是document.implementation和doc.body.outerHTML,DOMPurify现在使用DOMParser功能在所有现代浏览器中都可用。

因此,这段代码是清理DOM以防止这种XSS攻击

。它本身不是一个漏洞。

有没有摆脱它的方法?

您不想摆脱它,这是一件好事

© www.soinside.com 2019 - 2024. All rights reserved.