AIKraft/Skills/deserialization-insecure

deserialization-insecure

Плейбук для эксплуатации небезопасной десериализации в Java, PHP или Python. Применяется, когда приложения используют ObjectInputStream, unserialize, pickle или аналоги для обработки непроверенных данных, что может привести к RCE или повышению привилегий.

yaklang official Разработка ★ 2.4k

Что делает навык

Плейбук для эксплуатации небезопасной десериализации в Java, PHP и Python, позволяющий найти подходящую цепочку гаджетов (gadget chain) и сформировать полезную нагрузку. Применяется, когда приложения используют ObjectInputStream, unserialize или pickle для обработки непроверенных данных, что может привести к удалённому выполнению кода (RCE) или повышению привилегий.

Когда применять

  • Эксплуатация уязвимости в Java-приложениях с использованием инструментов ysoserial, PHPGGC или специфичных для Shiro/WebLogic/Commons Collections цепочек.
  • Обход WAF при блокировке BCEL ClassLoader или Fastjson @type payload с помощью техники Ghost Bits, упаковывающей байты кода в символы Unicode.
  • Использование Phar-десериализации в PHP или манипуляций с pickle в Python для достижения RCE.
  • Маршрутизация к jndi-injection, если десериализация приводит к JNDI-поиску, или к unauthorized-access-common-services при доступе к RMI Registry, T3, AJP.

Как работает

  1. Определить целевой язык (Java, PHP, Python) и проанализировать трафик на наличие магических байтов (например, AC ED для Java, O: для PHP, 80 0N для Python).
  2. Выбрать подходящую цепочку гаджетов (gadget chain) с учётом версий библиотек (CommonsCollections, Spring, SnakeYAML и др.), используя справочник JAVA_GADGET_CHAINS.md.
  3. Сформировать полезную нагрузку с помощью специализированных инструментов (ysoserial, PHPGGC, ysoserial.net) или методов обхода WAF (Ghost Bits).
  4. Отправить сформированный payload на уязвимую конечную точку (endpoint) или сервис управления (RMI, T3, AJP).
  5. При необходимости применить маршрутизацию к смежным навыкам (jndi-injection, unauthorized-access-common-services) для развития атаки.

Примеры запросов агенту

Найди уязвимую десериализацию в Java-приложении и сгенерируй payload с использованием CommonsCollections.
Как обойти WAF, блокирующий BCEL ClassLoader, при эксплуатации десериализации в PHP?
Проверь endpoint на уязвимость к Phar-десериализации и подготовь полезную нагрузку.

Что понадобится

  • Инструменты: ysoserial, PHPGGC, ysoserial.net
  • Файлы справки: JAVA_GADGET_CHAINS.md
  • Доступ к уязвимому сервису (RMI, T3, AJP или HTTP-эндпоинт с десериализацией)

Описание составлено по SKILL.md навыка, сверено 07.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «deserialization-insecure» из репозитория: # https://github.com/yaklang/hack-skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r deserialization-insecure/ ~/.claude/skills/deserialization-insecure/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.