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

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

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

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

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

Категории

Все категории
Loading categories
Ghostcat-Tomcat-AJP-Exploit-Py3 — Полностью переработанный, совместимый с Python 3 эксплойт-скрипт для Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) AJP Local File Inclusion | Kitploit
Инструменты/GitHubGitHub/si1ence90/ghostcat-tomcat-ajp-exploit-py3
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеОбучение и Образование
GitHubsi1ence90/ghostcat-tomcat-ajp-exploit-py3

Ghostcat-Tomcat-AJP-Exploit-Py3

Полностью переработанный, совместимый с Python 3 эксплойт-скрипт для Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) AJP Local File Inclusion

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
3 месяцев назадЕщё не проверено

Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) Инструмент для обнаружения уязвимости

Введение

Этот проект предоставляет скрипт на Python для проверки уязвимости локального включения файлов протокола AJP Apache Tomcat (известной как Ghostcat, CVE-2020-1938 / CNVD-2020-10487).

Этот скрипт был полностью переработан и исправлен на основе первоначально распространявшейся версии для Python 2, полностью совместим с Python 3, исправлены проблемы совместимости с StringIO, кодировкой base64 и конкатенацией двоичных данных со строками, повышена стабильность на современных операционных системах.

Принцип уязвимости

При обработке протокола AJP (Apache JServ Protocol) Apache Tomcat по умолчанию открывает порт 8009 и не выполняет строгую проверку безопасности входящих атрибутов запроса. Злоумышленник может сконструировать вредоносный AJP-запрос, внедрив атрибуты javax.servlet.include.request_uri, javax.servlet.include.path_info и javax.servlet.include.servlet_path:

  1. Произвольное чтение файлов (LFI): обманывает DefaultServlet Tomcat, заставляя его читать произвольные файлы в каталоге веб-приложения (например, WEB-INF/web.xml, файлы конфигурации и т.д.).
  2. Удаленное выполнение кода (RCE): если на целевом сервере есть уязвимость загрузки файлов, злоумышленник может сначала загрузить обычный файл (например, .txt, .png), содержащий вредоносный код JSP, а затем использовать эту уязвимость AJP, чтобы принудительно заставить JspServlet анализировать и компилировать этот файл как JSP, тем самым выполняя произвольные команды.

Примечание: данная уязвимость поддерживает только локальное включение файлов (LFI) и не поддерживает прямое удаленное включение файлов (RFI).

Требования к окружению

  • Python 3.6+
  • Используется только стандартная библиотека Python, установка дополнительных сторонних зависимостей не требуется.

Использование

Синтаксис командной строки:

root@kitploit:~
python CNVD-2020-10487-Tomcat-Ajp-lfi.py <целевой_IP> [-p целевой_порт] [-f путь_к_файлу]

Описание параметров:

  • target (обязательно): IP-адрес или домен целевого хоста.
  • -p, --port (опционально): Порт AJP, по умолчанию 8009.
  • -f, --file (опционально): Относительный путь к целевому файлу для чтения, по умолчанию WEB-INF/web.xml.

Примеры использования:

  1. Базовая проверка (чтение файла web.xml по умолчанию):

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1
    
  2. Указание порта и файла (чтение пользовательского файла конфигурации):

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.100 -p 8009 -f WEB-INF/classes/application.properties
    

Исправление и защита

Если ваша система подвержена этой уязвимости, рекомендуется немедленно принять следующие меры защиты:

  1. Обновите Tomcat: обновитесь до официальных безопасных версий (9.0.31, 8.5.51, 7.0.100 или более поздних).
  2. Отключите службу AJP: если среда не требует связи через протокол AJP для кластеризации обратного прокси, рекомендуется закомментировать или удалить конфигурацию <Connector port="8009" protocol="AJP/1.3" ... /> в файле conf/server.xml.
  3. Усилите аутентификацию AJP: если служба AJP должна быть включена, добавьте атрибут requiredSecret (в Tomcat 8.5.51/9.0.31 и более новых версиях — secret) для коннектора AJP, чтобы принудительно выполнять аутентификацию.

Отказ от ответственности

Данный скрипт предназначен только для исследований в области кибербезопасности, обучения и внутреннего аудита безопасности в организациях в соответствии с требованиями. Запрещается использовать этот скрипт для несанкционированного сканирования или атак на целевые системы. Используя скрипт, вы обязаны соблюдать местные законы и нормативные акты. Пользователь несет единоличную ответственность за любые последствия, вызванные неправильным или незаконным использованием.

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