
CVE-2023-50164: злоумышленник может манипулировать параметрами загрузки файлов, чтобы обеспечить обход пути, и в некоторых случаях это может привести к загрузке вредоносного файла, который можно использовать для выполнения удаленного кода. Пользователям рекомендуется обновиться до версий Struts 2.5.33 или Struts 6.3.0.2 или выше, чтобы исправить эту проблему.
Критическая уязвимость безопасности, идентифицированная как CVE-2023-50164 (CVE: 9.8), была обнаружена в Apache Struts, позволяя злоумышленникам манипулировать параметрами загрузки файлов, что может привести к несанкционированному обходу пути и удаленному выполнению кода (RCE).
Простое тестовое приложение разработано для анализа CVE
Сначала соберите приложение с помощью команды docker build:
docker build -t exploitable -f DOCKERFILE .
Затем запустите приложение с помощью команды docker run:
docker run -p 8080:8080 exploitable
В этом случае вы можете получить доступ к приложению на порту 8080
Вы можете развернуть его в Tomcat или любом другом сервлете, или запустить с помощью mvn jetty:run. В этом случае вы можете получить доступ к приложению на порту 9999. Эксплойт-скрипт работает только в тех случаях, когда приложение развернуто в Tomcat, поскольку путь эксплуатации заключается в загрузке WAR-веб-шелла. Однако, в случае одной и той же уязвимости, могут работать и другие пути эксплуатации в зависимости от используемых технологий и других обстоятельств.
Установите PIP пакеты:
pip install requests requests_toolbelt
Затем вы можете изменить путь в соответствии с URL вашего приложения и выполнить команду ниже:
python exploit.py --url http://localhost:8080/upload.action
Рекомендуется запускать приложение и эксплойт на хосте Windows. Эксплойт может не работать на *nix системах в некоторых случаях.
Этот эксплойт-скрипт создан для исследовательских целей. Он не предназначен для использования в каких-либо вредоносных или несанкционированных действиях.