CVE-2024-51567 是一个针对 CVE-2024-51567 的 Python 概念验证 (PoC) 漏洞利用脚本,该漏洞是影响 CyberPanel v2.3.6 的一个关键命令注入漏洞。该漏洞位于 upgrademysqlstatus 端点,通过绕过 CSRF 保护并在特定参数中使用 shell 元字符,可实现远程命令执行 (RCE)。
⚠️ 重要免责声明:此脚本仅用于教育目的和经授权的安全测试,且仅适用于您拥有或已获得明确许可的系统。未经授权在任何系统上使用此脚本是非法的,并将受到法律制裁。作者对滥用行为不承担任何责任。请始终遵守道德标准和适用法律。
databases/views.py 的 upgrademysqlstatus 端点(在 commit 5b08cd6 之前)允许远程攻击者通过绕过 secMiddleware 保护(仅过滤 POST 请求)来执行任意命令。该漏洞可利用 statusfile 参数中的 shell 元字符进行利用。/dataBases/upgrademysqlstatus 端点在易受攻击的 CyberPanel 服务器上执行远程命令httpx 模块git clone https://github.com/ajayalf/CVE-2024-51567.git
cd CVE-2024-51567
httpx:
pip install httpx
对单个目标运行脚本,使用以下命令:
python CVE-2024-51567.py <目标URL>
示例:
python CVE-2024-51567.py http://example.com
对多个目标运行脚本,创建一个包含目标 URL 列表的文本文件(每行一个 URL),然后使用命令:
python CVE-2024-51567.py <targets.txt>
示例:
python CVE-2024-51567.py targets.txt
如果您想使用多个目标,创建一个名为 targets.txt 或任意名称的文本文件。文件格式应为 URL 列表,每行一个 URL,如下所示:
http://target1.com
http://target2.com
http://target3.com
脚本连接到目标后,您可以输入要在目标服务器上执行的 shell 命令。输入 exit 或 quit 退出。
get_CSRF_token(client):从目标主页的 cookies 中获取 CSRF 令牌。
client(一个 httpx.Client 对象)pwn(client, CSRF_token, cmd):发送带有 CSRF 令牌和所需命令的特制 payload。
client(一个 httpx.Client 对象),CSRF_token(字符串),cmd(字符串)exploit(client, cmd):在目标上执行 pwn 函数以运行命令,并打印输出。
client(一个 httpx.Client 对象),cmd(字符串)run_exploit(target):初始化与目标的连接,并启动交互式命令循环。
target(字符串,目标 URL)如果 cookies 中未找到 CSRF 令牌,脚本将打印所有接收到的 cookies 并退出,同时显示有用的错误信息。
/ 是获取 CSRF 令牌的正确端点。如果不同,请相应地修改函数 get_CSRF_token。有关此漏洞的更多信息,请参阅以下资源:
exitquit主执行:检查参数以确定目标是单个 URL 还是包含多个目标的文件。