
Этот репозиторий содержит Python-скрипт для автоматизации процесса проверки уязвимости, известной как Text4Shell, под идентификатором CVE: CVE-2022-42889.
Этот репозиторий содержит скрипт на Python для автоматизации процесса тестирования уязвимости, известной как Text4Shell, обозначенной под CVE id: CVE-2022-42889.
Text4Shell — это критическая уязвимость, затрагивающая широкий спектр систем. Уязвимость заключается в способе анализа текстовых строк этими системами и позволяет выполнять произвольный код или проводить SSRF-атаки. Уязвимость эксплуатируется с помощью специально созданных строк, где либо выполняется JavaScript-код (что приводит к удаленному выполнению кода (RCE)), либо извлекаются URL-адреса (что приводит к подделке запросов на стороне сервера (SSRF)).
Из Tarlogic:
Требования к эксплуатации:
Приложение принимает контролируемый пользователем ввод, который затем обрабатывается одним из следующих методов уязвимого компонента:
Версии Java, равные или выше Java 15, не будут подвержены удаленному выполнению кода, поскольку движок Nashorn отключен и префикс "script" будет недоступен. Однако другие атаки через префиксы "url" и "dns" возможны.
Этот скрипт на Python помогает проверить наличие уязвимости Text4Shell в системе. Область применения скрипта включает: тестирование префиксов script и url.
Скрипт имеет два режима работы: RCE и SSRF, управляемые аргументом командной строки или . Он формирует URL, содержащий специально созданную строку в зависимости от выбранного режима, и выполняет GET-запрос к этому URL.
-m--modeВ режиме RCE скрипт создает специально сформированную строку, которая пытается выполнить JavaScript-команду. Команда для выполнения передается через аргумент командной строки с помощью -c или --command.
python text4shell.py -u 'http://example.com/search?query=' -c 'your_command' -m 'rce'
В режиме SSRF скрипт создает специально сформированную строку, которая включает команду извлечения URL.
python text4shell.py -u 'http://example.com/search?query=' -m 'ssrf' -s 'http://example.com/resource'
Скрипт выполняет GET-запрос к сформированному URL и выводит код состояния HTTP и тело ответа.