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

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

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

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

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

Категории

Все категории
Loading categories
cve-2017-9822 — Углубленный технический анализ и PoC для CVE-2017-9822, уязвимости небезопасной десериализации в DotNetNuke, приводящей к удаленному выполнению кода через специально созданные cookie. | Kitploit
Инструменты/GitHubGitHub/tnot123/cve-2017-9822
Анализ уязвимостейАнализ КодаЭксплуатацияОбратная инженерияЭксплуатация веб-приложенийОтладчикиТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловЛаборатории и Практика
641 год назадЕщё не проверено
GitHubtnot123/cve-2017-9822

cve-2017-9822

Углубленный технический анализ и PoC для CVE-2017-9822, уязвимости небезопасной десериализации в DotNetNuke, приводящей к удаленному выполнению кода через специально созданные cookie.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
  • CVE-2017-9822
    • Основная информация
    • Настройка окружения
    • Настройка отладки
    • Анализ
    • Отладка
      • XmlSerializer
      • Gadget атаки
      • ObjectDataProvider
      • ResourceDictionary
      • От xml insecure deserialization к RCE

CVE-2017-9822

DNN (также известный как DotNetNuke) до версии 9.1.1 допускает удалённое выполнение кода через cookie, также известное как "2017-08 (Важно) Возможность удалённого выполнения кода на веб-сайтах DNN".

Основная информация

  • Затронутый продукт: DotNetNuke (DNN Platform) — популярная CMS/портал на .NET.
  • Дата публикации: июль 2017 года.
  • Степень критичности: Critical (CVSS ~9.8).
  • Тип уязвимости: XML External Entity (XXE) / Insecure Deserialization → Remote Code Execution (RCE).
  • Воздействие: до версии 9.1.1 возможно удалённое выполнение кода через cookie

alt

Что такое DotNetNuke?
DotNetNuke — это бесплатная CMS с открытым исходным кодом для веб-сайтов, написанная на C# и основанная на платформе .NET. DotNetNuke очень популярен и широко используется в интернете, поскольку вы можете развернуть веб-версию DNN всего за несколько минут, не имея глубоких технических знаний. Ещё одна важная функция DotNetNuke — возможность создавать или импортировать пользовательские сторонние модули, написанные на VB.NET или C#.
DNN можно установить на стек, включающий Windows Server, IIS, ASP.NET и SQL Server для Windows. DNN также поддерживает регистрацию новых пользователей с подтверждением по email, но для работы этой функции безопасности необходимо настроить корректный SMTP-сервер. Основные функции DNN
• Модульная архитектура: DNN позволяет легко расширяться за счёт установки дополнительных модулей, разработанных сообществом. Администратор может загружать новые модули через интерфейс администратора (загрузка .zip-пакетов) или распаковывать их непосредственно в папку на сервере.
• Управление пользователями: Система предоставляет функции безопасности и детального разграничения прав (роли/разрешения) для порталов и модулей. Учётные записи пользователей, роли и права централизованно управляются в DNN.
• Управление контентом: Поддержка WYSIWYG-редактирования, управление статьями, изображениями, документами и т. д. Имеется система workflow/публикации (публикация материалов по процессу рецензирования) и версионирование контента. Контент хранится в общей базе данных (SQL Server).
• API и расширенная интеграция: DNN предоставляет .NET API для разработчиков, позволяющий создавать пользовательские модули (WebForms, MVC, Razor) и интегрировать внешние сервисы. Множество готовых сторонних библиотек (темы оформления, модули электронной коммерции, форумы и т. д.) позволяют расширять функциональность.
• Интерфейс и темы: Система скинов (тем) отделяет контент от интерфейса, что позволяет гибко проектировать веб-сайты. Сайты, созданные на DNN, могут менять внешний вид путём смены скинов.
• Механизм установки модулей: Модули DNN упаковываются в ZIP-файлы и могут устанавливаться через интерфейс администратора или путём ручной распаковки. DNN поддерживает как скомпилированные модули (.NET DLL), так и динамические модули Razor; любому модулю можно предоставить или запретить доступ через настройки разрешений на каждой странице.

Настройка окружения

Операционные системы: Windows 10
.NET Framework: 4.5.1+
Веб-сервер: Microsoft IIS 10
Сервер базы данных: Microsoft® SQL Server® 2019 Express, SQL Server Management Studio
Версия DotNetNuke: 9.1.0
Для поиска доступных в интернете развёрнутых версий DotNetNuke можно использовать следующие Google dorks и проверить их на сайте:
inurl:dnn.js
inurl:dnn.modalpopup.js
inurl:dnn.servicesframework.js
inurl:dnn.xml.js
inurl:dnncore.js
inurl:/Portals/0/
inurl:/DesktopModules/
inurl:/DNNCorp/
inurl:/DotNetNuke
inurl:/tabid//Default.aspx
inurl:/tabid/
/language/*/Default.aspx
intext:"by DNN Corp "
Для создания окружения можно следовать этой статье

Настройка отладки

Измените атрибуты сборки на «отлаживаемые»; это очень важно, поскольку во время выполнения применяются некоторые оптимизации, которые могут мешать отладке: некоторые точки останова могут не срабатывать, а некоторые переменные — не существовать.
Загрузите DotNetNuke.dll в dnSpy (32 bit), затем выберите Edit Assembly Attributes (C#)

alt

Измените строку
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
на
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]

alt

Затем выберите Compile и сохраните этот модуль обратно в прежнее место.
Далее запустите dnSpy с правами администратора и выберите Debug -> Attach to Process

alt

Выберите процесс w3wp.exe

alt

Причина, по которой для отладки нужно подключиться к этому процессу, в том, что веб-приложения на IIS обычно используют рабочие процессы (worker process). Они обрабатывают веб-запросы, поступающие на веб-сервер IIS, для каждого пула приложений; рабочих процессов на одной машине может быть несколько, и все они называются w3wp.exe. Небольшое примечание: может наступить момент, когда процесс w3wp не запущен, — IIS не запускает рабочие процессы, пока не получит первый веб-запрос.

alt

Вернёмся к отладке: после подключения к процессу выберите: Debug -> Windows -> Modules

alt

Нажмите на один из модулей и выберите Open All Modules

alt

Теперь в окне Assembly можно увидеть все связанные модули

alt

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