expression-language-injection
Плейбук для эксплуатации инъекций выражений (EL, SpEL, OGNL, MVEL). Применяется, когда Java-фреймворки, такие как Spring, Struts2 или Confluence, вычисляют контролируемые атакующим выражения.
AIyaklang
official
Другое
★ 2.4k
Что делает навык
Плейбук для эксплуатации инъекций выражений (EL, SpEL, OGNL, MVEL) в Java-фреймворках, таких как Spring, Struts2 или Confluence, когда они вычисляют контролируемые атакующим выражения. Отличается от SSTI тем, что атакует встроенные вычислители выражений, а не движки шаблонов.
Когда применять
- Эксплуатация SpEL (Spring), OGNL (Struts2) и Java EL (JSP/JSF) для обхода песочниц.
- Использование манипуляций с _memberAccess и злоупотребления actuator.
- Построение цепочек уязвимостей (CVE chains) в реальных сценариях.
- Обнаружение уязвимости через полиглотные зонды, разделяя их с SSTI на этапе обнаружения.
Как работает
- Провести обнаружение с помощью полиглотных зондов (например, ${7*7}), разделяя поверхности атаки SSTI и EL.
- Определить тип используемого языка выражений (SpEL, OGNL, Java EL) в целевом фреймворке.
- Применить техники обхода песочницы и манипуляции с _memberAccess.
- Использовать злоупотребления actuator или другие методы для достижения выполнения кода.
- При необходимости направить поток на jndi-injection, если оценка EL приводит к JNDI-поиску.
Примеры запросов агенту
Проверь, можно ли выполнить произвольный код через SpEL в этом Spring-приложении.
Эксплуатируй OGNL-инъекцию в Struts2 с обходом песочницы.
Найди уязвимость Java EL в JSP-странице и выполни команду.
Описание составлено по SKILL.md навыка, сверено 07.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «expression-language-injection» из репозитория:
# https://github.com/yaklang/hack-skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r expression-language-injection/ ~/.claude/skills/expression-language-injection/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.