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.3k8601053 дней назадПроверено 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.15.

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, возрастом около трёх лет), чтобы регрессии в устаревших браузерах тоже выявлялись. Мы также запускаем Node.js v20, v22, v24, v25 и v26 с DOMPurify на 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)```html

### Использование минифицированной и протестированной production-версии (доступна source-map)```html
<script type="text/javascript" src="dist/purify.min.js"></script>

После этого вы можете очищать строки, выполнив следующий код:```js const clean = DOMPurify.sanitize(dirty);

Или, возможно, это, если вы любите работать с Angular или подобными:```js
import DOMPurify from 'dompurify';

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

Полученный HTML можно записать в DOM-элемент с помощью innerHTML или в DOM с помощью document.write(). Это полностью на ваше усмотрение. Обратите внимание, что по умолчанию мы разрешаем HTML, SVG и MathML. Если вам нужен только HTML, что может быть очень распространённым случаем использования, вы также можете легко это настроить:```js const clean = DOMPurify.sanitize(dirty, { USE_PROFILES: { html: true } });

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

Что ж, обратите внимание: если вы _сначала_ санируете HTML, а _затем_ изменяете его, вы можете легко **свести на нет эффект санитизации**. Если вы передаёте санированную разметку в другую библиотеку _после_ санитизации, убедитесь, что эта библиотека не манипулирует HTML самостоятельно. См. [Security Goals & Threat Model](https://github.com/cure53/DOMPurify/wiki/Security-Goals-&-Threat-Model) для рецептов безопасного использования и тегов/атрибутов, о которых стоит подумать дважды, а также [Attack Classes & Bypass History](https://github.com/cure53/DOMPurify/wiki/Attack-Classes-&-Bypass-History) о том, почему постобработка и изменение контекста разметки сводят санитизацию на нет.

### Хорошо, логично, двигаемся дальше

После санитизации разметки вы также можете взглянуть на свойство `DOMPurify.removed` и узнать, какие элементы и атрибуты были удалены. Пожалуйста, **не используйте** это свойство для принятия каких-либо решений, критичных для безопасности. Это всего лишь небольшой помощник для любопытных умов.

### Запуск DOMPurify на сервере

Технически DOMPurify также работает на стороне сервера с Node.js. Наша поддержка стремится следовать [циклу релизов Node.js](https://nodejs.org/en/about/previous-releases).

Для запуска DOMPurify на сервере требуется наличие DOM, что, вероятно, никого не удивит. Обычно [jsdom](https://github.com/jsdom/jsdom) является инструментом выбора, и мы **настоятельно рекомендуем** использовать последнюю версию _jsdom_.
Скачать инструмент