
이 저장소에는 OpenCRX(5.0-20200717 이하 버전)의 치명적인 취약점인 CVE-2020-7378에 대한 복합 개념 증명(PoC) 익스플로잇이 포함되어 있습니다. 이 익스플로잇은 애플리케이션의 두 가지 핵심 문제를 연쇄적으로 이용합니다:
java.util.Random에 의존하여 발생하는 예측 가능한 비밀번호 재설정 토큰 취약점으로, 공격자가 밀리초 타임스탬프 시드를 기반으로 유효한 토큰을 생성할 수 있습니다.RestServlet 엔드포인트의 블라인드 XML 외부 엔티티(XXE) 취약점으로, 공격자가 서버 파일시스템의 파일을 원격으로 읽을 수 있습니다.이 두 결함을 결합하면 인증되지 않은 공격자가 관리자 액세스 권한을 획득하고 서버 측 민감 파일을 외부로 유출할 수 있습니다.
CVE ID: CVE-2020-7378
영향을 받는 제품: OpenCRX ≤ 5.0-20200717
공격 표면: 공개적으로 노출된 관리 및 REST 인터페이스
근본 원인:
영향:
CVSS: 9.1 (치명적)
opencrx-exploit.py: 토큰 예측과 XXE 파일 읽기를 모두 수행하는 전체 체인 익스플로잇 스크립트.OpenCRXToken.java: 요청 타이밍을 기반으로 무차별 대입(brute-force) 시드 범위를 사용하여 토큰 생성 로직을 모방하는 Java 클래스.토큰 생성기를 컴파일합니다:
javac OpenCRXToken.java
익스플로잇을 실행합니다:
python3 opencrx-exploit.py <target_user_id>
실행 시 다음이 수행됩니다: