在Angular中进行生产构建时,创建的main.xxxxxxxx.js包含以下代码
<img src="</style><img src=x onerror=alert(1)"//>
我们可以通过Ctrl + F进行查找。我已经确认了多个项目中的行为,包括样板项目。由于这一特定的代码行由于与XSS攻击有关而显得是恶意的,有没有办法摆脱它?另外,有人能解释一下这条可疑线为什么存在吗,如果它有一定目的或是Angular的一个错误?
有人可以解释一下为什么存在这种可疑路线吗
看起来好像是作为卫生脚本插入的,您可以看到它已添加到此处
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
*/
该规范文件引用了一个DOMPurify版本,该版本似乎与Mozilla安全漏洞有关。DOMPurify发行说明指出:
安装此最新版本的用户不再受此错误影响,因为DOMPurify可以解决问题并通过不再信任Gecko的innerHTML实施来缓解该问题。现在,DOMPurify不再使用document.implementation和doc.body.outerHTML的组合,而是使用所有现代浏览器中都提供的DOMParser功能。
因此,这段代码正在清理DOM,以防止这种XSS攻击。它本身不是一种利用。
有办法摆脱它吗?
你不想摆脱它,这是一件好事
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句