
Генератор полезных нагрузок для десериализации для различных .NET-форматтеров
YSoNet генерирует полезные нагрузки для десериализации .NET в целях авторизованных исследований безопасности, предоставляя интерактивный мастер и командную строку для воспроизводимой работы.
YSoNet — это форк ysoserial.net, созданного Alvaro Munoz (@pwntester), и развивает работу его участников. YSoNet поддерживается Soroush Dalili (@irsdl).
Скачайте последний релиз, затем следуйте руководству по началу работы, чтобы распаковать полный ZIP-архив и открыть мастер. Руководство охватывает требования к Windows/среде выполнения, диагностику установки и сборки для разработки.
YSoNet — это набор утилит и «цепочек гаджетов» для программирования, ориентированного на свойства, предназначенных для исследования небезопасной десериализации объектов .NET. Предоставьте входные данные, необходимые модулю, выберите совместимый форматтер и сохраните сгенерированные данные. Эффект на стороне цели зависит от цепочки, среды выполнения и приложения; см. использование и примеры и свидетельства среды выполнения.
Уязвимость заключается в том, что приложение выполняет небезопасную десериализацию, а НЕ в наличии гаджетов в classpath. Этот проект вдохновлён проектом ysoserial Криса Фрохоффа.
Не превращайте каталог гаджетов и плагинов YSoNet в блок-лист десериализации. Каталог не может включать каждую приватную, будущую, специфичную для приложения или иначе составленную цепочку, поэтому блокировка перечисленного здесь не делает небезопасный десериализатор безопасным. Это может создать ложную уверенность, лишь отсрочив атаку.
Если вы изучаете этот репозиторий для укрепления приложения, прочитайте Руководство по безопасности для защитников и ревьюеров перед изучением гаджетов или плагинов. Цель — устранить небезопасную десериализацию или перейти к дизайну с фиксированной схемой и только данными. Строгий список разрешённых является временным сдерживанием, когда миграция не может произойти немедленно; список запрещённых не является исправлением.
Полная документация находится в docs/:
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t
Начните с краткого справочника. Все параметры см. в ysonet.exe --fullhelp, а справку по конкретному гаджету или плагину — в -g NameHere -help или -p NameHere -help. Подробнее в Использование и примеры.
Каждая сборка поставляет портативный Agent Skill в .claude/skills/ysonet-payloads/ рядом с ysonet.exe. Claude Code обнаруживает этот проектный навык, когда работает из папки с распакованным бинарником. Другие клиенты, совместимые с Agent Skills, могут импортировать ту же папку.
Навык охватывает командную строку, интерактивный режим, каждый публичный гаджет и плагин, их форматтеры, варианты и параметры, а также рабочий процесс выбора полезной нагрузки, управляемый целью. Он использует --list, справку модулей и --fullhelp запущенного бинарника как живой источник истины. Сгенерированный CLAUDE.md в папке с бинарником не нужен; это была бы специфичная для Claude вторая копия инструкций, которая могла бы разойтись со стандартным навыком.