main.xxxxxxxxxxxx. js в файле сборки содержит img src = x onerror = alert (1), который связан с уязвимостью XSS. Есть ли способ избавиться от этого? - PullRequest
1 голос
/ 28 мая 2020

При создании производственной сборки в Angular файл main.xxxxxxxx. js created содержит код

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

, который мы можем найти при нажатии Ctrl + F. Я подтвердил поведение в нескольких проекты, в том числе и шаблонный. Поскольку эта конкретная строка кода кажется вредоносной из-за ее связи с атаками XSS, есть ли способ избавиться от нее? Кроме того, может кто-нибудь объяснить, почему существует эта подозрительная строка, если она случайно служит определенной цели или является ошибкой со стороны Angular?

1 Ответ

1 голос
/ 29 мая 2020

может кто-нибудь объяснить, почему существует эта подозрительная строка, если случайно

Похоже, что она вставлена ​​как скрипт очистки, вы можете увидеть, что добавляется сюда

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
 */

Файл spe c ссылается на выпуск DOMPurify , который, похоже, связано с ошибкой безопасности Mozilla . В примечаниях к выпуску DOMPurify указано:

Пользователи, установившие этот последний выпуск, больше не подвержены этой ошибке, поскольку DOMPurify устраняет проблему и смягчает ее, больше не доверяя внутренней реализации HTML Gecko. . Вместо комбинации document.implementation и do c .body.outer HTML, DOMPurify теперь использует функцию DOMParser, доступную во всех современных браузерах.

Итак, этот фрагмент кода дезинфекция DOM для предотвращения этой атаки XSS . Сам по себе это не эксплойт.

есть ли способ от него избавиться?

От этого не хочется избавляться, это хороший вещь

...