
# WordPress WP2Shell 취약점 스캐너 (CVE-2026-63030 / CVE-2026-60137) WordPress 사이트가 WP2Shell(CVE-2026-63030 / CVE-2026-60137)에 노출되어 있는지 확인하는 읽기 전용 CLI 도구입니다.
WordPress 사이트가 WP2Shell(CVE-2026-63030 및 CVE-2026-60137)에 노출되어 있는지 확인하는 명령줄 도구입니다. 읽기 전용 요청을 통해 WordPress 버전과 REST API 노출 범위를 읽고 결과를 보고합니다. 어떠한 익스플로잇도 수행하지 않습니다.
[!WARNING] 승인된 테스트 전용입니다. 소유한 사이트 또는 서면 허가를 받은 사이트에서만 사용하세요. 작성자(
DanSec)는 오용 또는 손상에 대해 책임을 지지 않습니다.
WP2Shell은 SQL 인젝션(CVE-2026-60137)과 REST 배치 프로세서 결함(CVE-2026-63030)을 /wp-json/batch/v1 엔드포인트를 통해 연결하여, 기본 WordPress 설치에서 인증되지 않은 원격 코드 실행을 가능하게 합니다. 두 CVE 모두 CISA의 알려진 악용(KEV) 카탈로그에 등재되어 있습니다.
| 브랜치 | 취약 버전 | 수정 버전 |
|---|---|---|
| 6.9.x | 6.9.0 ~ 6.9.4 | 6.9.5 |
| 7.0.x | 7.0.0 ~ 7.0.1 | 7.0.2 |
| 7.1 이상 | 영향 없음 | 해당 없음 |
Python 3.8+ 필요.
pip install -r requirements.txt
requests와 rich가 필요합니다. sublist3r는 선택 사항입니다(서브도메인 열거).
더 넓은 범위의 열거를 위해 subfinder를 설치하고(pip이 아닌 Go 바이너리) --subfinder를 전달하세요.
# 단일 호스트 확인
python wpScanner.py example.com --passive
# 루트 도메인의 서브도메인을 열거하고 각각 확인
python wpScanner.py example.com --subfinder --threads 8
결과는 CSV로도 기록됩니다. 버전 소스가 일치하지 않으면 도구는 잘못된 전체 안전 판정을 피하기 위해 가장 낮은 버전을 기준으로 분류합니다. 원격 확인은 버전 문자열을 변경하지 않은 백포트 패치를 감지할 수 없으므로, 직접 관리하는 호스트에서는 wp core version이 기준 진실입니다.
코어를 6.9.5, 7.0.2 또는 7.1+로 업데이트하세요(wp core update). 아직 패치할 수 없다면 방화벽에서 /wp-json/batch/v1을 차단하고 익명 REST 접근을 제한하세요.
승인된 방어적 용도로만 제공됩니다. 검사 대상 호스트에 대해 확인 권한이 있는지 확인할 책임은 사용자에게 있습니다.
| 옵션 | 설명 | 기본값 |
|---|
-o, --output | CSV 출력 파일 | WP2Shell_output.csv |
--passive | 지정된 호스트만 확인, 열거 건너뜀 | 꺼짐 |
--subfinder | 서브도메인 소스로 subfinder 추가 | 꺼짐 |
--threads | 동시 작업자 수 | 1 |
--retries | 호스트당 재시도 횟수 | 1 |
--rate-limit | 초당 최대 요청 수(단일 스레드, 0 = 제한 없음) | 0 |
| 판정 | 의미 |
|---|
VULNERABLE | 영향받는 버전이며 배치 엔드포인트에 접근 가능. |
LIKELY_MITIGATED | 영향받는 버전이지만 배치 엔드포인트가 차단되었거나 REST가 비활성화된 것으로 보임. |
PATCHED | 수정된 버전이거나 영향받는 릴리스 이전 버전. |
VERSION_UNKNOWN | WordPress가 발견되었지만 버전을 읽을 수 없음. |
NOT_WORDPRESS | WordPress 지문이 없음. |
ERROR | 접근 불가 또는 네트워크 오류. |