Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DOMPurify — DOMPurify — это DOM-only, сверхбыстрый, сверхтолерантный XSS-санитайзер для HTML, MathML и SVG. DOMPurify работает с безопасным набором настроек по умолчанию, но предлагает множество возможностей конфигурации и хуков. Демо: | Kitploit
Инструменты/GitHubGitHub/cure53/dompurify
Оборонительные ИнструментыСтатический анализАнализ КодаВеб-безопасностьОбучение и ОбразованиеБезопасность API
GitHubcure53/dompurify

DOMPurify

DOMPurify — это DOM-only, сверхбыстрый, сверхтолерантный XSS-санитайзер для HTML, MathML и SVG. DOMPurify работает с безопасным набором настроек по умолчанию, но предлагает множество возможностей конфигурации и хуков. Демо:

Репозиторий
17.3k86019315 ч 34 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Сайт
Поделиться

DOMPurify

npm License Downloads dependents npm package minimized gzipped size (select exports) Cloudback

OpenSSF Best Practices Build & Test OpenSSF Scorecard Socket Badge snyk.io package health

DOMPurify — это сверхбыстрый, чрезвычайно устойчивый санитайзер XSS для HTML, MathML и SVG, работающий исключительно с DOM.

Начать пользоваться им также очень просто. DOMPurify был запущен в феврале 2014 года и с тех пор достиг версии v3.4.17.

DOMPurify работает на JavaScript и поддерживается во всех современных браузерах (Safari (10+), Opera (15+), Edge, Firefox и Chrome — а также практически во всём остальном, что использует Blink, Gecko или WebKit). Он не ломается в MSIE или других устаревших браузерах. Он просто ничего не делает.

Обратите внимание, что DOMPurify v2.5.9 — последняя версия с поддержкой MSIE. Для важных обновлений безопасности, совместимых с MSIE, используйте ветку 2.x.

Наши автоматизированные тесты охватывают 9 комбинаций браузер/ОС на текущих движках (Chromium, Firefox и WebKit в Ubuntu, macOS и Windows) при каждом push, а отдельная матрица повторно прогоняет набор тестов на снимках старых движков (примерно до Chromium 110, Firefox 108 и WebKit 16.4, возрастом около трёх лет), чтобы также отлавливать регрессии в устаревших браузерах. Мы также запускаем DOMPurify на Node.js v20, v22, v24, v25 и v26 с jsdom. Более старые версии Node, как известно, тоже работают, но, эх... без гарантий.

DOMPurify написан специалистами по безопасности, обладающими обширным опытом в веб-атаках и XSS. Не бойтесь. Для получения дополнительных сведений также прочитайте о наших Целях безопасности и модели угроз. Пожалуйста, прочитайте это. Серьёзно. А если вам нравятся кровавые подробности, страница Классы атак и история обходов каталогизирует приёмы мутации парсера, пространств имён, переопределения (clobbering) и шаблонов, от которых защищается DOMPurify.

Проект DOMPurify вдохновил на создание HTML Sanitizer API, который уже поставляется во многих браузерах. Та же возможность сейчас стандартизируется непосредственно в спецификации WHATWG HTML.

Содержание

  • Что он делает?
  • Как его использовать?
  • Есть ли демо?
  • Что делать, если я найду уязвимость?
  • Можно несколько примеров очистки?
  • Что поддерживается?
  • А как насчёт устаревших браузеров вроде Internet Explorer?
  • А как насчёт DOMPurify и Trusted Types?
  • Можно ли настроить DOMPurify?
  • Постоянная конфигурация
  • Хуки
  • Удалённая конфигурация
  • Непрерывная интеграция
  • Список рассылки по безопасности
  • Кто внёс вклад?

Что он делает?

DOMPurify очищает HTML и предотвращает XSS-атаки. Вы можете передать DOMPurify, например, строку с небезопасным HTML, и он вернёт строку (если не настроено иное) с чистым HTML. DOMPurify удалит всё, что содержит опасный HTML, и тем самым предотвратит XSS-атаки и другие неприятности. К тому же он чертовски быстрый. Мы используем технологии, предоставляемые браузером, и превращаем их в XSS-фильтр. Чем быстрее ваш браузер, тем быстрее будет работать DOMPurify.

Как его использовать?

Это просто. Просто подключите DOMPurify на своём сайте.

Использование неминифицированной версии (доступна source-map)

<script type="text/javascript" src="dist/purify.js"></script>

Использование минифицированной и протестированной production-версии (source-map доступен)

<script type="text/javascript" src="dist/purify.min.js"></script>

После этого вы можете очистить строки, выполнив следующий код:

const clean = DOMPurify.sanitize(dirty);

Или, возможно, это, если вы любите работать с Angular или подобными:

import DOMPurify from 'dompurify';

const clean = DOMPurify.sanitize('<b>hello there</b>');

Полученный HTML можно записать в элемент DOM с помощью innerHTML или в DOM с помощью document.write(). Это полностью на ваше усмотрение. Обратите внимание, что по умолчанию мы разрешаем HTML, SVG и MathML. Если вам нужен только HTML, что может быть очень распространённым случаем, вы можете легко настроить это:

const clean = DOMPurify.sanitize(dirty, { USE_PROFILES: { html: true } });

Есть ли здесь потенциальные подводные камни?

Что ж, обратите внимание: если вы сначала санируете HTML, а затем модифицируете его впоследствии, вы можете легко свести на нет эффект санирования. Если вы передаёте санированную разметку в другую библиотеку после санирования, убедитесь, что эта библиотека не манипулирует HTML самостоятельно. См. Security Goals & Threat Model — там описаны рецепты безопасного использования и теги/атрибуты, о которых стоит подумать дважды, а также Attack Classes & Bypass History — о том, почему постобработка и изменение контекста разметки сводят санирование на нет.

А что насчёт передачи DOM-узла вместо строки?

Скачать инструмент