DOM-XSS
Что такое DOM-XSS?
DOM-XSSРазновидность XSS, при которой внедрение и выполнение целиком происходят в браузере: клиентский JavaScript записывает недоверенные данные в опасный DOM-приёмник.
DOM-XSS (Type-0) — это уязвимость межсайтового скриптинга, причина которой целиком находится в клиентском коде. Источник данных (location.hash, document.referrer, window.name, postMessage, localStorage) без санитизации передаётся в опасный DOM-приёмник: innerHTML, document.write, eval, jQuery.html. Сервер не видит полезную нагрузку, поэтому уязвимость невидима для классических WAF и серверных журналов. Защита включает безопасные API (textContent), Trusted Types в современных браузерах, строгую CSP и инструменты статического анализа, отслеживающие поток заражённых данных от источников к приёмникам.
● Примеры
- 01
document.getElementById('out').innerHTML = location.hash.substring(1);
- 02
Маршрутизатор SPA использует window.location для вставки несанитизированного HTML в шаблон.
● Частые вопросы
Что такое DOM-XSS?
Разновидность XSS, при которой внедрение и выполнение целиком происходят в браузере: клиентский JavaScript записывает недоверенные данные в опасный DOM-приёмник. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает DOM-XSS?
Разновидность XSS, при которой внедрение и выполнение целиком происходят в браузере: клиентский JavaScript записывает недоверенные данные в опасный DOM-приёмник.
Как защититься от DOM-XSS?
Защита от DOM-XSS обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия DOM-XSS?
Распространённые альтернативные названия: XSS типа 0, Клиентский XSS.