Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Уязвимость Mutation XSS (mXSS) — скрытый XSS через парсер HTML

Количество просмотров: 35

IlyaMarkinV

Редактор
Редактор
Регистрация
13 Июн 2025
Сообщения
15
Реакции
1
Баллы
3
Сегодня разберём коварную атаку - Mutation XSS, которая обходит стандартные защиты за счёт особенностей обработки HTML браузерами.

Только для понимания механизмов уязвимостей!




Суть mXSS
Это XSS, который проявляется только после обработки HTML браузером, когда:
    • Изначально "безопасный" код трансформируется парсером
    • Возникают неожиданные теги/атрибуты
    • Срабатывает инъекция после санитизации




Пример атаки
Исходный "безопасный" код:
Код:
html
<div><style><img src="</style><img src=x onerror=alert(1)>">

После обработки браузером:
Код:
html
<div>
  <style><img src="</style>
  <img src="x" onerror="alert(1)">
</div>

Что произошло?

  • 1. Парсер некорректно обработал вложенные теги
    2. Закрыл
    Код:
    </style>
    раньше ожидаемого
    3. Превратил "безопасный" код в рабочий XSS




Где встречается?
    • Редакторы контента (TinyMCE, CKEditor)
    • Конвертеры Markdown→HTML
    • Шаблонизаторы с dangerouslySetInnerHTML
    • Системы рендеринга email (Gmail, Outlook)




Защитные меры

1. Обновлённые санитайзеры

    • DOMPurify 3.0+ с защитой от mXSS
    • sanitize-html с
      Код:
      allowVulnerableTags: false

2. Дополнительная валидация
Код:
javascript
if (html.includes('<style><') || html.includes('</style><')) {
  throw new Error('Potential mXSS attack');
}

3. Защита через CSP
Код:
html
Content-Security-Policy: default-src 'self'; script-src 'none'




Почему это серьёзно?
    • Фиксировалось в Gmail, ProtonMail
    • Обнаружено в WordPress через Shortcode API
    • Возможно даже в React/Vue при неправильном рендеринге

P.S. В 2025 году атаки через mXSS всё ещё эффективны против многих систем.
 
Сверху Снизу