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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC — ZoneMinder 시간 기반 SQL 주입(CVE-2024-51482) 익스플로잇 POC | Kitploit
도구/GitHubGitHub/ravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc
Password CrackingVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & Education
GitHubravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC

ZoneMinder 시간 기반 SQL 주입(CVE-2024-51482) 익스플로잇 POC

저장소 보기
16개월 전아직 검토되지 않음

ZoneMinder 시간 기반 SQL 인젝션 (CVE-2024-51482)

📌 취약점 개요

  • CVE ID: CVE-2024-51482
  • 보안 권고: GHSA-qm8h-3xvf-m7j3
  • 영향받는 버전: ZoneMinder 1.37.* ~ 1.37.64 (1.37.64 포함)
  • 패치된 버전: 1.37.65

📖 설명

이 저장소는 ZoneMinder 1.37.* ~ 1.37.64에서 발견된 블라인드 SQL 인젝션 취약점에 대한 고성능 병렬 처리 PoC(Proof-of-Concept) 익스플로잇(Exploit.py)을 포함합니다.

취약점 근본 원인 및 영향

GHSA-qm8h-3xvf-m7j3에 따르면, 이 취약점은 web/ajax/event.php에서 removetag 액션을 처리할 때 발생합니다. tid(TagId) 매개변수가 요청에서 읽혀진 후 SQL 문에 안전하지 않게 직접 연결됩니다:

root@kitploit:~
$tagId = $_REQUEST['tid']; 
// ...
$sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
$rowCount = dbNumRows($sql);

$tagId가 dbNumRows()에 전달되기 전에 매개변수화되지 않기 때문에, 인증된 공격자는 boolean 기반 또는 시간 기반 SQL 인젝션 기법(여기에 제시된 PoC는 SLEEP()를 활용)을 사용하여 임의의 SQL 명령을 주입할 수 있습니다.

이로 인해 SQL 데이터베이스를 완전히 제어할 수 있게 되어 데이터 기밀성과 무결성이 손상될 수 있으며, 지속적인 sleep 명령을 통한 서비스 거부(DoS) 가능성도 있습니다.

완화 조치

1.37.65 버전부터 SQL 쿼리가 적절하게 매개변수화되었습니다. 취약했던 블록은 안전한 쿼리를 구성하도록 패치되었습니다:

root@kitploit:~
$sql = "SELECT * FROM Events_Tags WHERE TagId = ?"; 
$rowCount = dbNumRows($sql, $tagId);

익스플로잇 스크립트

v2.0 FAST EXPLOIT 스크립트는 멀티스레딩, 최적화된 문자 빈도 탐색, 동적 임계값 보정을 사용하여 zm.Users 데이터베이스 테이블에서 사용자 자격 증명(Username:Password)을 적극적으로 추출함으로써 데이터 추출 속도를 최대 5배까지 크게 향상시킵니다.

🚀 익스플로잇 상세 (Exploit.py v2.0 FAST EXPLOIT)

기능

  • 병렬 추출: ThreadPoolExecutor(기본 워커 5개)를 사용하여 여러 문자를 동시에 추출하므로, 기존의 순차적 블라인드 SQLi보다 전체 추출 시간을 대폭 줄입니다.
  • 빈도 최적화 탐색: 통계적으로 가장 흔한 비밀번호 및 영문 문자를 먼저 확인한 후 이진 탐색으로 폴백하여 문자당 평균 요청 수를 최소화합니다.
  • 지수 길이 탐지: 병렬 추출을 시작하기 전에 빠른 지수 단계 탐색 후 이진 탐색을 사용하여 대상 문자열의 정확한 길이를 결정합니다.
  • 동적 임계값 보정: 시작 시 기준 응답 시간(임계값)을 자동으로 보정하여 네트워크 지연과 정상적인 SQL 실행 지연을 정확하게 구분합니다.
  • 선별적 덤프: 특정 사용자의 자격 증명을 추출하거나 전체 zm.Users 테이블을 순차적으로 덤프하는 것을 지원합니다.

취약한 엔드포인트 및 매개변수

  • URL: 기본값 http://<target>/zm/index.php
  • 매개변수: view=request&request=event&action=removetag
  • 취약한 매개변수: tid

🛠️ 사용법 분석

root@kitploit:~
python3 Exploit.py

실행하면 스크립트는 대화형 모드로 실행되며 다음을 입력하라는 메시지를 표시합니다:

  1. 대상 URL: ZoneMinder index.php 파일의 경로 (예: http://zoneminder.local/zm/index.php).
  2. ZMSESSID 쿠키 값: 이 익스플로잇은 인증이 필요합니다. 활성 세션을 나타내는 유효한 ZMSESSID 쿠키를 제공하세요.
  3. 대상 사용자 이름 (선택 사항): 자격 증명을 추출할 특정 사용자를 입력하거나, 비워 두면 자동으로 감지하여 전체 zm.Users 테이블을 덤프합니다.

extracted_data.txt라는 파일이 덤프된 자격 증명(Username:Password 형식)과 함께 자동으로 생성됩니다. 또한 스크립트는 총 경과 시간과 전송된 총 HTTP 요청 수를 포함한 실시간 실행 통계를 표시합니다.

🔗 참고 자료

  • GitHub 보안 권고 GHSA-qm8h-3xvf-m7j3
  • NVD 항목 – CVE-2024-51482
  • ZoneMinder 공식 사이트

면책 조항: 이 익스플로잇 스크립트는 엄격히 교육 목적과 승인된 침투 테스트를 위해서만 제공됩니다. 소유하지 않았거나 테스트에 대한 명시적 허가를 받지 않은 시스템에는 이 도구를 사용하지 마십시오.

도구 다운로드