Я использую этот NPM пакет с именем xss
Мой пример кода такой:
const xss = require("xss");
const userGeneratedCode =
'<img src="notValidUrl" onerror=alert(document.cookie)>';
const XssProcessor = new xss.FilterXSS({
whiteList: {
a: ["href", "title", "target"]
}
});
const processedString = XssProcessor.process(userGeneratedCode);
// => <img src="notValidUrl" onerror=alert(document.cookie)>
document.querySelector("#app").innerHTML = processedString;
В выходных данных отображается именно строка
<img src="notValidUrl" onerror=alert(document.cookie)>
Можно ли составить переменную userGeneratedCode
, чтобы пройти выше XssProcessor
и, наконец, стать опасной строкой?