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

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

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

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

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

Категории

Все категории
Loading categories
RP_DCP_Code_Exec — Эксплойт proof-of-concept для произвольного выполнения кода через DCP URI-схему Real Player, использующий подсадку файлов и обход элемента управления ActiveX. | Kitploit
Инструменты/GitHubGitHub/edubr2020/rp_dcp_code_exec
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеРазработка Полезной Нагрузки
GitHubedubr2020/rp_dcp_code_exec

RP_DCP_Code_Exec

Эксплойт proof-of-concept для произвольного выполнения кода через DCP URI-схему Real Player, использующий подсадку файлов и обход элемента управления ActiveX.

Репозиторий
24 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Real Player 'DCP://' URI Remote Arbitrary Code Execution Vulnerability

видео-демонстрация: https://youtu.be/AMODp3iTnqY

Схема URI 'DCP://' — это внутренний протокол, используемый Real Player для получения URL-адресов, отображаемых на вкладке браузера плеера. Она расшифровывается как 'Data Cache Protocol'. Протокол извлекает файлы из '%appdata%\real\realplayer'. Эти файлы представляют собой простые '.ini'-файлы со следующим кодом:

---sample_dcp.ini--- [urls] onlineurl=http://example.com/ offlineurl=file:///c:/example.htm

Похоже, что атрибут 'offlineurl' игнорируется, однако можно передавать произвольные URL-адреса, включая URL-адреса локальных файлов и небезопасные URI 'Javascript:'.

Пример: dcp://custom.ini

Это потенциально создаёт универсальное условие межсайтового скриптинга (uXSS).

Real Player использует функциональность Microsoft Internet Explorer и предоставляет свойства и методы через особый механизм, специфичный для приложения:

Объект 'external' предоставляет несколько пользовательских методов и свойств.

Нельзя получить удалённые файлы, но можно использовать родительские каталоги (..) для получения файлов. Для этого можно использовать метод 'external::OpenURLInPlayerBrowser()'

Комбинируя эту проблему с проблемой подсадки файлов через метод 'external::RecordClip()', можно подсадить валидные '.ini'-файлы (хотя они и без расширения) в предсказуемое место:

'Videos\RealPlayer Downloads'.

Подсадив 2 файла и затем ссылаясь на них через URI 'DCP://', можно указать URL-адрес, относящийся к произвольному домену или "зоне безопасности" (зоны безопасности Windows), и внедрить пользовательский javascript-код.

В PoC используется код, который заставляет запрос на небезопасные элементы ActiveX "сдаться" и запускает MSHTA, указывающий на второй файл, содержащий код для запуска 'cmd.exe'. Он может содержать, например, встроенный EXE-файл.

Чтобы воспроизвести эту проблему, достаточно отредактировать файлы и заменить '%server%' на фактическое имя сервера или IP-адрес. Также замените '%username%' на фактическое имя пользователя Windows в файлах 'dcp1.txt' и 'rp_dcp.htm'

Примечание: имя пользователя Windows можно получить с помощью запросов к SMB-серверу или WebDAV-серверу.

Затронутые версии: 16.0.3.51, Cloud 17.0.9.17, v.20.0.7.309 в любой версии Windows (от XP до 11)

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