
Этот репозиторий предназначен для воркшопа по тестированию ASP.NET ViewState с использованием YSoNet (YSoSerial.NET).
Этот репозиторий предназначен для практикума Тестирование ASP.NET ViewState с помощью YSoNet (YSoSerial.NET).
Рекомендуемое чтение: Эксплуатация десериализации в ASP.NET через ViewState
Рекомендуемые инструменты для решения лабораторных заданий (когда лаборатория настроена):
Слайды практикума: EXPLOITING_KNOWN_MACHINE_WORKSHOP_v1.0_NahamCon2025_slides.pdf
Это намеренно небезопасная лабораторная среда, предназначенная исключительно для тестирования безопасности и образовательных целей.
Эта лаборатория создана, чтобы помочь специалистам по безопасности улучшить свои навыки тестирования уязвимостей ASP.NET ViewState. Используйте ответственно и только в контролируемых средах.
Выполните эти шаги на вашем изолированном Windows Server, чтобы подготовить лабораторную среду. Откройте терминал PowerShell с повышенными правами (Запуск от имени администратора) и выполните следующие команды:
# Clone the repository (or download and extract the ZIP)
git clone https://github.com/irsdl/viewstate-security-workshop.git
cd viewstate-security-workshop
.\tools\Install-IISAndDotNet.ps1
Это установит IIS с поддержкой ASP.NET и все необходимые версии .NET Framework.
.\tools\Disable-DefenderProtection.ps1
Зачем отключать Defender? Для этой лаборатории мы отключаем Windows Defender, чтобы выполнение команд через эксплуатацию ViewState не блокировалось. Это позволяет наглядно наблюдать успешную эксплуатацию без вмешательства защиты конечных точек.
Важно: В реальной тестовой лаборатории или производственной среде защиту следует оставлять включённой. Цель этого практикума — понять механику уязвимости. Освоив техники, попрактикуйтесь в обнаружении и блокировании этих атак при включённом Defender.
.\import-workshopiis.ps1
Этот интерактивный скрипт настраивает уязвимый сайт практикума в IIS. Он запросит параметры конфигурации со следующими значениями по умолчанию:
| Параметр | Значение по умолчанию |
|---|---|
| Файл конфигурации | .\workshop-iis-config.json |
| Имя сайта | workshop |
| Корневой путь |
Скрипт выполнит следующее:
content в корневой путь сайтаПосле настройки ваш IIS Manager должен выглядеть так:

Только для любознательных читателей:
Подготавливает Windows Server для лаборатории, устанавливая компоненты IIS и .NET Framework.
Расположение: tools/Install-IISAndDotNet.ps1
Использование:
# Run as Administrator
.\tools\Install-IISAndDotNet.ps1
Что он устанавливает:
Примечание: Для установки .NET Framework 3.5 на изолированных серверах может потребоваться смонтировать ISO-образ Windows Server и раскомментировать в скрипте вариант установки из источника.
Отключает защиту Windows Defender, чтобы инструменты эксплуатации могли работать в лабораторной среде.
Расположение: tools/Disable-DefenderProtection.ps1
Использование:
# Run as Administrator
.\tools\Disable-DefenderProtection.ps1
Что он отключает:
Повторно включает защиту Windows Defender после использования лаборатории.
Расположение: tools/Enable-DefenderProtection.ps1
Использование:
# Run as Administrator
.\tools\Enable-DefenderProtection.ps1
Что он включает:
Интерактивный скрипт, который импортирует конфигурацию сайта IIS для практикума и разворачивает уязвимый веб-контент.
Расположение: import-workshopiis.ps1
Использование:
# Run as Administrator
.\import-workshopiis.ps1
Что он делает:
content в указанный корневой путь.NET v2.0 для устаревших приложений)JSON-файл конфигурации, который определяет структуру сайта IIS, экспортированную с эталонного лабораторного сервера.
Расположение: workshop-iis-config.json
Содержит:
/mac/* - приложения с включённой проверкой MAC/nomac/* - приложения без проверки MACv20, v40, v45) для тестирования различных сред выполнения .NETЭто программное обеспечение создано исключительно для целей академических исследований и разработки эффективных защитных техник и не предназначено для использования при атаках на системы, за исключением случаев явного разрешения. Сопровождающие проекта не несут ответственности за неправомерное использование программного обеспечения. Используйте ответственно.
Это программное обеспечение является личным проектом и не связано с какими-либо компаниями, включая работодателей владельца проекта и участников.
C:\workshop\websites\wwwdata |
| HTTP-порт | 80 |