Lutfifakee-Project/wp2shell
GitHub: Lutfifakee-Project/wp2shell
针对 WordPress CVE-2026-63030 漏洞的多线程扫描与利用工具,结合版本检测和 SQL 注入测试进行风险评级。
Stars: 4 | Forks: 0
# 🔍 wp2shell - WordPress CVE-2026-63030 漏洞扫描与利用工具
📸 Screenshot
bash
___ __ ____
_ _____ |_ |___ / / ___ / / /
| |/|/ / _ \/ __/(_- _ \/ -_) / /
|__,__/ .__/____/___/_//_/\__/_/_/
/_/
wp2shell Scanner | Target: 100 | Threads: 10
============================================================
================================================================================
wp2shell Exposure Check Results (REAL-TIME)
================================================================================
example.com [HIGH] VULNERABLE (by version) - RCE (CRITICAL)
Version: v6.9.4 | Batch: [YES] | SQLi: NO
Endpoint: standard (status 400)
--------------------------------------------------------------------------------
example2.com [LOW] NOT AFFECTED - Safe
Version: v7.0.2 | Batch: [YES] | SQLi: NO
Endpoint: standard (status 400)
--------------------------------------------------------------------------------
example3.com [ERROR] 'risk'
--------------------------------------------------------------------------------
🚀 Installation
📦 Clone & Setup
bash
# Clone repository
git clone https://github.com/Lutfifakee-Project/wp2shell.git
cd wp2shell
# 无需依赖 - 仅使用 Python standard library!
# 需要 Python 3.7+
🔧 Requirements
Requirement Version
Python 3.7+
Operating System Windows / Linux / macOS
Dependencies None (standard library only)
📖 Detailed Usage
Scanner Mode (wp2shell_scanner.py)
bash
# 扫描单个目标
python wp2shell_scanner.py https://example.com
# 扫描多个目标
python wp2shell_scanner.py https://target1.com https://target2.com
# 从文件扫描
python wp2shell_scanner.py -f targets.txt
# 仅扫描并保存存在漏洞的 URL
python wp2shell_scanner.py -f targets.txt -o vulnerable.txt
Scanner Options
Option Description
-f, --file File with target list (one per line)
-o, --output Save ONLY vulnerable URLs to file
-t, --threads Number of threads (default: 10)
--timeout Request timeout (default: 15s)
--no-sqli-test Skip SQLi test for faster scanning
-j, --json Output as JSON
Exploit Mode (wp2shell_intooutfile.py)
bash
# 单个目标
python wp2shell_intooutfile.py https://target.com
# 来自文件的多个目标
python wp2shell_intooutfile.py -f targets.txt
# 使用自定义线程和超时
python wp2shell_intooutfile.py -f targets.txt -t 10 --timeout 30
# 将结果保存到文件
python wp2shell_intooutfile.py -f targets.txt -o results.txt
📊 Output
Color Legend
Color Risk Level Description
🔴 HIGH Critical RCE vulnerability detected
🟡 MEDIUM Medium Version affected but batch inactive
🟢 LOW Safe Not affected / Patched
⚪ UNKNOWN Unknown WordPress not detected
Output Fields
Field Description
Version Detected WordPress version
Batch [YES] = endpoint active / [NO] = inactive
SQLi Time-based SQL injection test result
Endpoint Batch endpoint used (standard/alternate)
File Output (-o results.txt)
The output file contains only vulnerable URLs (one per line):
txt
example.com
example2.com
example3.com
🛡️ Detection Methods
1️⃣ Version Detection
The scanner detects WordPress version using three methods:
Meta generator tag in HTML
readme.html file
wp-includes/version.php file
2️⃣ Batch Endpoint Detection
Checks both possible batch endpoints:
/wp-json/batch/v1 (standard)
/?rest_route=/batch/v1 (alternate)
3️⃣ SQL Injection Test (Optional)
Performs time-based SQL injection detection using SLEEP(3) payload.
🔬 How It Works
Risk Assessment Logic
text
If SQLi confirmed:
→ [HIGH] VULNERABLE - SQLi CONFIRMED
Elif RCE version and batch active:
→ [HIGH] VULNERABLE (by version) - RCE (CRITICAL)
Elif RCE version and batch inactive:
→ [MEDIUM] VERSION AFFECTED - Batch endpoint not active
Elif SQLi version and batch active:
→ [HIGH] VULNERABLE (by version) - SQLi (HIGH)
Elif SQLi version and batch inactive:
→ [MEDIUM] VERSION AFFECTED - Batch endpoint not active
Elif WordPress detected:
→ [LOW] NOT AFFECTED - Safe
Else:
→ [UNKNOWN] WORDPRESS NOT DETECTED
📊 Example Output
Terminal Output
text
================================================================================
wp2shell Exposure Check Results (REAL-TIME)
================================================================================
example.com [HIGH] VULNERABLE (by version) - RCE (CRITICAL)
Version: v6.9.4 | Batch: [YES] | SQLi: NO
Endpoint: standard (status 400)
--------------------------------------------------------------------------------
example2.com [LOW] NOT AFFECTED - Safe
Version: v7.0.2 | Batch: [YES] | SQLi: NO
Endpoint: standard (status 400)
--------------------------------------------------------------------------------
example3.com [ERROR] 'risk'
--------------------------------------------------------------------------------
Scan completed: 100 target(s) processed.
Vulnerable: 36
JSON Output (-j)
json
[
{
"host": "example.com",
"version": "6.9.4",
"batch_route": true,
"batch_endpoint": "standard",
"batch_status": 400,
"verdict": "VULNERABLE (by version) - RCE (CRITICAL)",
"risk": "HIGH",
"sqli_confirmed": false,
"sqli_delay": 0,
"vulnerable": true
}
]
⚡ Performance Tips
Tip Description
Increase Threads Use -t 20 for faster scanning (default: 10)
Skip SQLi Test Use --no-sqli-test for ~3x faster scanning
Increase Timeout Use --timeout 30 for slow targets
Batch File Use -f for large-scale scanning
🎯 Use Cases
✅ Security Audits - Identify vulnerable WordPress sites in your infrastructure
✅ Bug Bounty - Quickly scan large number of targets
✅ Research - Study CVE-2026-63030 impact on live sites
✅ Compliance - Verify patching status across multiple sites
🛡️ Vulnerability Chain Explained
Stage 1: Batch Route Confusion
text
Outer: [ "http://" , POST /wp/v2/posts (body=inner) , /batch/v1 ]
↓
Misaligned $matches → sub-request dispatched to wrong handler
↓
Recursive batch call → inner requests can use GET
Stage 2: SQL Injection
text
Inner: [ "http://" , POST /wp/v2/categories?author_exclude= , GET /wp/v2/posts ]
↓
categories → posts handler (misaligned)
↓
author_exclude unsanitized → SQL Injection
Stage 3: Impact
text
SQL Injection → Data Exposure / Hash Extraction → Potential RCE
🔑 Hash Cracking Reference
WordPress Hash Formats
Format Prefix Hashcat Mode Speed
phpass (old) $P$B 400 ⚡ Fast
bcrypt (new) $wp$2y$10$ 2612 / 3200 🐢 Slow
Cracking Commands
bash
# phpass(快速)
hashcat -m 400 -a 0 hash.txt rockyou.txt
# bcrypt(慢 - 使用 GPU)
hashcat -m 2612 -a 0 hash.txt rockyou.txt
# 使用 john
john --format=phpass hash.txt --wordlist=rockyou.txt
📚 Example Target File (list.txt)
txt
https://example1.com
https://example2.com
example3.com # Will auto-add https://
https://example4.com
⚠️ Legal Disclaimer
IMPORTANT: This tool is for educational and authorized testing purposes only.
Only use on systems you own or have explicit written permission to test.
Unauthorized access to computer systems is illegal.
The developers assume no responsibility for misuse of this software.
Use responsibly and ethically.
📚 References
CVE-2026-63030
Assetnote Research
WordPress Security Advisory
```
⚡ 快速、实时的 CVE-2026-63030 (wp2shell) 漏洞扫描与利用工具
| 🚀 Multi-threading | Scan hundreds of targets simultaneously |
| 📊 Real-time Output | Results appear instantly as they're discovered |
| 🎨 Color-coded Results | Easy-to-read output with risk levels |
| 💾 Save Vulnerable URLs | Export only vulnerable sites to a file |
| 🔬 SQLi Detection | Optional time-based SQL injection testing |
| 🌐 Smart Protocol Detection | Auto-adds https:// if missing |
| 📋 Batch File Support | Scan from a list of targets |
| 🛡️ Non-destructive | Safe scanning - no exploitation |
标签:DOE合作, 逆向工具