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

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

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

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

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

Категории

Все категории
Loading categories
strutt-cve-2014-0114 — Технический анализ и proof-of-concept для манипуляции параметрами класса Apache Struts 1 (CVE-2014-0114), демонстрирующие удаленное выполнение кода на Tomcat и отказ в обслуживании на JBoss/Wildfly. | Kitploit
Инструменты/GitHubGitHub/aenlr/strutt-cve-2014-0114
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеСтатьи и ИсследованияОбучение и Образование
GitHubaenlr/strutt-cve-2014-0114

strutt-cve-2014-0114

Технический анализ и proof-of-concept для манипуляции параметрами класса Apache Struts 1 (CVE-2014-0114), демонстрирующие удаленное выполнение кода на Tomcat и отказ в обслуживании на JBoss/Wildfly.

Репозиторий
21577 лет назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2014-0114 - Уязвимость в Struts 1

Параметры POST- или GET-запроса обрабатываются как свойства (properties), которые должны устанавливаться с использованием формы в качестве основы. Параметры могут быть путем к вложенному объекту.

Apache Struts 1.x может быть использован для вызова getClass() на Form Beans. Например, можно напрямую манипулировать атрибутами classloader формы: https://example.com/?class.classLoader.defaultAssertionStatus=true.

Под капотом Apache Struts 1.x использует commons-beanutils, который в версии 1.8 (и более ранних) не исключает атрибут class.

Struts 2 также имел подобные недостатки, но здесь мы сосредоточимся на Struts 1.x, для которого нет исправлений в самом фреймворке, последняя версия которого вышла в 2008 году (EOL с 2013 года).

Tomcat - Удаленное выполнение кода (RCE)

Если приложение работает в Tomcat (Catalina), то можно манипулировать логированием таким образом, чтобы злоумышленник мог создать JSP-файл, который затем выполняется при запросе с сервера. JSP-файл может выполнять произвольный Java-код от имени пользователя, под которым работает Java-процесс.

Смотрите демонстрацию Julián Vilas для подробностей.

JBoss/Wildfly - Отказ в обслуживании (DOS)

(Протестировано на JBoss EAP 7.1)

Существует простой метод выполнения DOS-атаки, которая в худшем случае делает JBoss полностью недоступным и требует перезапуска. В лучшем случае JBoss отвечает медленно.

Выполнение

Через атрибут class можно получить доступ к Class#protectionDomain.codeSource.location. В JBoss это объект URL с протоколом vfs.

Для URL типа vfs:// JBoss зарегистрировал URLStreamHandler, который возвращает объект типа org.jboss.vfs.VirtualFile при вызове URL#getContent.

class.protectionDomain.codeSource.location.content.pathName указывает на каталог <ПУТЬ>/<приложение>/WEB-INF/classes.

Через parent можно получить объект для каталога уровнем выше:

class.protectionDomain.codeSource.location.content.parent.pathName -> <ПУТЬ>/<приложение>/WEB-INF

Вопрос: Сколько ссылок parent необходимо, чтобы добраться до корня файловой системы?

Вопрос: Что произойдет, когда мы запросим class.protectionDomain.codeSource.location.content.parent.parent.[...].childrenRecursively[0].pathName для корневого каталога файловой системы?

Ответ: JBoss пройдется по всем файлам в файловой системе и выделит org.jboss.vfs.VirtualFile для каждого файла и каталога.

Дополнительный вопрос: Что произойдет, если два запроса одновременно запросят все файлы в файловой системе? Три? Пять? Десять? Сто?

...

Ответ:

Если подождать достаточно долго, будет зарегистрирована ошибка

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